VirtualBox

VirtualBox 6 on Ubuntu

$ sudo dpkg -i virtualbox-6.0_6.0.12-133076~Ubuntu~bionic_amd64.deb 
[sudo] password for andreas:         
Selecting previously unselected package virtualbox-6.0.
(Reading database ... 253319 files and directories currently installed.)
Preparing to unpack virtualbox-6.0_6.0.12-133076~Ubuntu~bionic_amd64.deb ...
Unpacking virtualbox-6.0 (6.0.12-133076~Ubuntu~bionic) ...
dpkg: dependency problems prevent configuration of virtualbox-6.0:
 virtualbox-6.0 depends on libqt5opengl5 (>= 5.0.2); however:
  Package libqt5opengl5 is not installed.
 virtualbox-6.0 depends on libqt5printsupport5 (>= 5.0.2); however:
  Package libqt5printsupport5 is not installed.
 virtualbox-6.0 depends on libqt5x11extras5 (>= 5.6.0); however:
  Package libqt5x11extras5 is not installed.

dpkg: error processing package virtualbox-6.0 (--install):
 dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-21) ...
ureadahead will be reprofiled on next reboot
Processing triggers for systemd (237-3ubuntu10.23) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.23+linuxmint6) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (1.9-2) ...
Errors were encountered while processing:
 virtualbox-6.0

$ sudo apt-get --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libqt5opengl5 libqt5printsupport5 libqt5x11extras5
The following NEW packages will be installed:
  libqt5opengl5 libqt5printsupport5 libqt5x11extras5
0 upgraded, 3 newly installed, 0 to remove and 269 not upgraded.
1 not fully installed or removed.
Need to get 318 kB of archives.
After this operation, 1'316 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libqt5opengl5 amd64 5.9.5+dfsg-0ubuntu2.3 [132 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libqt5printsupport5 amd64 5.9.5+dfsg-0ubuntu2.3 [178 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libqt5x11extras5 amd64 5.9.5-0ubuntu1 [8'596 B]
Fetched 318 kB in 1s (528 kB/s)              
Selecting previously unselected package libqt5opengl5:amd64.
(Reading database ... 254250 files and directories currently installed.)
Preparing to unpack .../libqt5opengl5_5.9.5+dfsg-0ubuntu2.3_amd64.deb ...
Unpacking libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu2.3) ...
Selecting previously unselected package libqt5printsupport5:amd64.
Preparing to unpack .../libqt5printsupport5_5.9.5+dfsg-0ubuntu2.3_amd64.deb ...
Unpacking libqt5printsupport5:amd64 (5.9.5+dfsg-0ubuntu2.3) ...
Selecting previously unselected package libqt5x11extras5:amd64.
Preparing to unpack .../libqt5x11extras5_5.9.5-0ubuntu1_amd64.deb ...
Unpacking libqt5x11extras5:amd64 (5.9.5-0ubuntu1) ...
Setting up libqt5x11extras5:amd64 (5.9.5-0ubuntu1) ...
Setting up libqt5printsupport5:amd64 (5.9.5+dfsg-0ubuntu2.3) ...
Setting up libqt5opengl5:amd64 (5.9.5+dfsg-0ubuntu2.3) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Setting up virtualbox-6.0 (6.0.12-133076~Ubuntu~bionic) ...
Adding group `vboxusers' (GID 129) ...
Done.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.  If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.

Your system has UEFI Secure Boot enabled.                                                                                                                                                                                              

UEFI Secure Boot requires additional configuration to work with third-party drivers.                                                                                                                                                     

The system will assist you in configuring UEFI Secure Boot. To permit the use of
third-party drivers, a new Machine-Owner Key (MOK) has been generated.
This key now needs to be enrolled in your system's firmware.

To ensure that this change is being made by you as an authorized user, and not by
an attacker, you must choose a password now and then confirm the change after
reboot using the same password, in both the "Enroll MOK" and "Change Secure Boot
state" menus that will be presented to you when this system reboots.   

If you proceed but do not confirm the password upon reboot, Ubuntu will still be
able to boot on your system but any hardware that requires third-party drivers to
work correctly may not be usable.    

$ reboot

Enroll MOK

$ lsmod | grep vb
vboxpci                24576  0
vboxnetadp             28672  0
vboxnetflt             28672  0
vboxdrv               487424  3 vboxpci,vboxnetadp,vboxnetflt


$ dpkg -l | grep virtualbox
ii  virtualbox-6.0  6.0.12-133076~Ubuntu~bionic  amd64  Oracle VM VirtualBox

$ sudo vi /etc/apt/sources.list
deb https://download.virtualbox.org/virtualbox/debian bionic contrib

Host: Linux, VM: FreeBSD

VirtualBox vboxnet0-Adapter hinzufügen

SRF Videoplayer + Adobe Flash Pepper Plugin

Videos auf Webseite www.srf.ch aufgrund veralteter Adobe flash
Xubuntu 13.04 – SRF funktioniert nicht
SF Video-Portal unter Linux Ubuntu nutzen
Use Pepper Flash Player From Google Chrome In Chromium Browser

Install under Ubuntu 14.04/14.10

How to Install Pepper Flash in Ubuntu 14.04

$ sudo apt-get install pepperflashplugin-nonfree
$ sudo update-pepperflashplugin-nonfree --install
$ sudo update-pepperflashplugin-nonfree --status
Flash Player version installed on this system  : 15.0.0.239
Flash Player version available on upstream site: 15.0.0.223

Check Flash Plugin

Flash About
Install Flash Player in 5 easy steps

Linux as a Wireless Access Point (WAP)

WLAN Accesspoint einrichten
WLAN Router

sudo nmcli nm wifi off
sudo rfkill unblock wlan

hostapd Linux documentation page
Hostapd : The Linux Way to create Virtual Wifi Access Point
hostapd error “nl80211: Could not configure driver mode”
Can’t connect to my access point
“WPA: EAPOL-Key timeout” for certain devices
hostapd, rtl8192se and wpa not working: EAPOL-Key Timeout
WLAN AP Geht wieder nicht
Wifi Problem
WPA/WPA2 Authentication failure – EAPOL-Key timeout

nl80211: New station f8:01:13:05:ef:1f
wlan0: Event EAPOL_TX_STATUS (40) received
IEEE 802.1X: f8:01:13:05:ef:1f TX status - version=2 type=3 length=95 - ack=1
WPA: EAPOL-Key TX status for STA f8:01:13:05:ef:1f ack=1
WPA: Increase initial EAPOL-Key 1/4 timeout by 1000 ms because of acknowledged frame
wlan0: STA f8:01:13:05:ef:1f WPA: EAPOL-Key timeout
WPA: f8:01:13:05:ef:1f WPA_PTK entering state PTKSTART
wlan0: STA f8:01:13:05:ef:1f WPA: sending 1/4 msg of 4-Way Handshake
WPA: Send EAPOL(version=2 secure=0 mic=0 ack=1 install=0 pairwise=1 kde_len=0 keyidx=0 encr=0)
WPA: Use EAPOL-Key timeout of 1000 ms (retry counter 2)
### Wireless network name ###
interface=wlan0
### Set your bridge name ###
bridge=br0

#driver=iwlwifi
country_code=UA
ssid=BACHI.NET Wireless
channel=6
hw_mode=g

ieee80211d=1
ieee80211n=1
wmm_enabled=1

macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=**********
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
andreas@samsung-notebook:~$ iw list
Wiphy phy0
	Band 1:
		Capabilities: 0x1072
			HT20/HT40
			Static SM Power Save
			RX Greenfield
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 3839 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 4 usec (0x05)
		HT TX/RX MCS rate indexes supported: 0-7, 32
		Frequencies:
			* 2412 MHz [1] (15.0 dBm)
			* 2417 MHz [2] (15.0 dBm)
			* 2422 MHz [3] (15.0 dBm)
			* 2427 MHz [4] (15.0 dBm)
			* 2432 MHz [5] (15.0 dBm)
			* 2437 MHz [6] (15.0 dBm)
			* 2442 MHz [7] (15.0 dBm)
			* 2447 MHz [8] (15.0 dBm)
			* 2452 MHz [9] (15.0 dBm)
			* 2457 MHz [10] (15.0 dBm)
			* 2462 MHz [11] (15.0 dBm)
			* 2467 MHz [12] (15.0 dBm) (passive scanning, no IBSS)
			* 2472 MHz [13] (15.0 dBm) (passive scanning, no IBSS)
		Bitrates (non-HT):
			* 1.0 Mbps
			* 2.0 Mbps (short preamble supported)
			* 5.5 Mbps (short preamble supported)
			* 11.0 Mbps (short preamble supported)
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
	max # scan SSIDs: 20
	max scan IEs length: 195 bytes
	Coverage class: 0 (up to 0m)
	Supported Ciphers:
		* WEP40 (00-0f-ac:1)
		* WEP104 (00-0f-ac:5)
		* TKIP (00-0f-ac:2)
		* CCMP (00-0f-ac:4)
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * IBSS
		 * managed
		 * AP
		 * AP/VLAN
		 * monitor
	software interface modes (can always be added):
		 * AP/VLAN
		 * monitor
	valid interface combinations:
		 * #{ managed } <= 1, #{ AP } <= 1,
		   total <= 2, #channels <= 1, STA/AP BI must match
		 * #{ managed } <= 2,
		   total <= 2, #channels <= 1
	Supported commands:
		 * new_interface
		 * set_interface
		 * new_key
		 * new_beacon
		 * new_station
		 * new_mpath
		 * set_mesh_params
		 * set_bss
		 * authenticate
		 * associate
		 * deauthenticate
		 * disassociate
		 * join_ibss
		 * join_mesh
		 * set_tx_bitrate_mask
		 * action
		 * frame_wait_cancel
		 * set_wiphy_netns
		 * set_channel
		 * set_wds_peer
		 * Unknown command (84)
		 * Unknown command (87)
		 * Unknown command (85)
		 * Unknown command (89)
		 * Unknown command (92)
		 * connect
		 * disconnect
	Supported TX frame types:
		 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * Unknown mode (10): 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
	Supported RX frame types:
		 * IBSS: 0x40 0xb0 0xc0 0xd0
		 * managed: 0x40 0xd0
		 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * mesh point: 0xb0 0xc0 0xd0
		 * P2P-client: 0x40 0xd0
		 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * Unknown mode (10): 0x40 0xd0
	Device supports RSN-IBSS.
	WoWLAN support:
		 * wake up on disconnect
		 * wake up on magic packet
		 * wake up on pattern match, up to 20 patterns of 16-128 bytes
		 * can do GTK rekeying
		 * wake up on GTK rekey failure
		 * wake up on EAP identity request
		 * wake up on rfkill release
	HT Capability overrides:
		 * MCS: ff ff ff ff ff ff ff ff ff ff
		 * maximum A-MSDU length
		 * supported channel width
		 * short GI for 40 MHz
		 * max A-MPDU length exponent
		 * min MPDU start spacing
	Device supports TX status socket option.
	Device supports HT-IBSS.

Linux KVM vs. ioctl

Linux KVM

Kernel Virtual Machine
KVM Documents
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko.

Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

Kernel

The Definitive KVM (Kernel-based Virtual Machine) API Documentation
The Definitive KVM (Kernel-based Virtual Machine) API Documentation (broken link)

The kvm API is a set of ioctls that are issued to control various aspects of a virtual machine.

IPv6

IPv6-Autokonfiguration

IPv6 Adressen

Internet Protocol Version 6 (IPv6) Basics cheat sheet – 20130711 (PDF)
IPv6 Autoconfiguration and Renumbering
IPv6 address
Different methods to assign a Global Unicast IPv6 address to an interface

Ping

IPv6 – Proxy the neighbors (or come back ARP – we loved you really)
Things you didn’t known about IPv6 link-local address

Socket Programming

C Language Examples of IPv4 and IPv6 Raw Sockets for Linux
IPv6-tauglich programmieren in C/C++, Python und Perl
Binding Sockets to IPv4 and IPv6

int v6only = 1;
if (ai-&gt;ai_family == AF_INET6 &amp;&amp; setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &amp;v6only, sizeof(v6only)) &lt;  0) {
    /* error */
}

RFC

RFC 1981 Path MTU Discovery for IPv6
RFC 2375 IPv6 Multicast Address Assignments
RFC 2460 IPv6 Specifications
RFC 3587 IPv6 Global Unicast Address Format
RFC 3596 DNS Extensions to Support IP Version 6
RFC 3849 IPv6 Address Prefix For Documentation
RFC 4193 Unique Local IPv6 Unicast Addresses
RFC 4291 IPv6 Addressing Architectures
RFC 4443 ICMPv6 for IPv6
RFC 4861 IPv6 Neighbor Discovery
RFC 4862 IPv6 Stateless Address Configuration
RFC 4941 Privacy Extensions for Stateless Address Autoconfiguration (SLAAC) in IPv6
RFC 6146 Stateful NAT64
RFC 6147 DNS64 – DNS Extensions for NAT64
RFC 6434 IPv6 Node Requirements
RFC 6540 IPv6 Support Required for All IP-Capable Nodes

Services

Resource Reservation Protocol (RSVP)
Resource Reservation Protocol – Traffic Engineering (RSVP-TE)
Quality of Service (QoS)
Integrated Services (IntServ)
Differentiated Services (DiffServ)

Neighbor Discovery Protocol (NDP)

Microsoft IPv6 Neighbor Discovery
Duplicate Address Detection (Slide 36 of presentation)

Link-local address

EUI-64 in IPv6 -> invert the universal/local (U/L) flag (bit 7) in the OUI portion of the address