Folgendes Image downloaden und verwenden:
Armbian_5.38_Bananapipro_Ubuntu_xenial_default_3.4.113_desktop.7z
dmesg
[...]
[302631.665357] sd 10:0:0:1: [sdg] 30537728 512-byte logical blocks: (15.6 GB/14.6 GiB)
[302631.676330] sdg: sdg1
Das Image entpacken und mit dd auf die Karte schreiben:
# 7z x Armbian_5.38_Bananapipro_Ubuntu_xenial_default_3.4.113_desktop.7z
# dd if=Armbian_5.38_Bananapipro_Ubuntu_xenial_default_3.4.113_desktop.img of=/dev/sdg
bananapi pro login: root
Password: 1234
changing password,
current password: 1234
new UNIX password: bananapi
Retype new UNIX password: bananapi
new user: chrissie
password: bananapi
# dhclient eth0
# vi /etc/network/interfaces
# /etc/init.d/networking restart
# top
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
alternativ 20auto-upgrades downloaden
apt-get update
apt-get install kodi kodi-pvr-iptvsimple
/usr/lib/arm-linux-gnueabihf/kodi/kodi-xrandr: failed to get size of gamma for output default
terminate called after throwing an instance of std::logic_error
what(): basic_string::__M_construct null not valid
Aborted
# apt-get update
# apt-get upgrade
329 packets
vi /etc/modprobe.d/blacklist.conf
[...]
blacklist ap6211
[...]
alternativ blacklist.conf downloaden
# reboot
# modprobe ap6211
# dmesg
[...]
[ 135.443706] [ap6211] Firmware up: op_mode=0x0001, Broadcom Dongle Host Driver mac=98:3b:16:e9:6c:36
[ 135.461025] [ap6211] Firmware version = wl0: Mar 10 2014 14:59:50 version 5.90.195.89.18 FWID 01-b13c09c7
[ 135.464100] [ap6211] Chip: a962 Rev 1 Pkg 9
# ifconfig
[...]
wlan0 Link encap:Ethernet HWaddr 00:90:4c:11:22:33
[...]
[...]
# By default this script does nothing.
sleep 5; modprobe ap6211
exit 0
alternativ rc.local downloaden. Achtung - diese Version von rc.local enthält das auskommentiert, weil ich hier einen Bananapi ohne Pro verwende, der keine interne WiFi-Karte hat. Ich habe es aber mit einem getestet. Deshalb ist das hier auskommentiert, genauso wie das mit dem Gateway, das ich jetzt wohl doch nicht mehr gebraucht habe. Dafür ist das mit dem lircd drin, das wird später besprochen. Einfach Datei ansehen und denken!
[...]
[ 944.529335] usbcore: registered new interface driver rt2800usb
[ 1005.163497] phy3 -> rt2x00lib_request_firmware: Error - Failed to request Firmware.
[...]
# git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
# cp rt2870.bin /lib/firmware/
alternativ rt2870.bin downloaden
# udevadm monitor --property
wget https://raw.githubusercontent.com/msekletar/udev/master/extras/firmware/firmware.sh
cp firmware.sh /lib/udev
chmod 755 /lib/udev/firmware.sh
alternativ firmware.sh downloaden
# stub for immediately telling the kernel that userspace firmware loading
# failed; necessary to avoid long timeouts with CONFIG_FW_LOADER_USER_HELPER=y
#SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1"
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh --firmware=$env{FIRMWARE} --devpath=$env{DEVPATH}"
alternativ 50-firmware.rules downloaden
# reboot
neu starten, huch, es geht jetzt:
# iwconfig
[...]
wlx7cdd901d63cb IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
[...]
# dmesg:
[...]
[ 173.237800] Registered led device: rt2800usb-phy1::radio
[ 173.242351] Registered led device: rt2800usb-phy1::assoc
[ 173.251511] Registered led device: rt2800usb-phy1::quality
[ 212.394061] ADDRCONF(NETDEV_UP): wlx7cdd901d63cb: link is not ready
[ 306.550771] wlx7cdd901d63cb: authenticate with 80:2a:a8:d7:d1:fe
[ 306.603112] wlx7cdd901d63cb: send auth to 80:2a:a8:d7:d1:fe (try 1/3)
[ 306.609799] wlx7cdd901d63cb: authenticated
[ 306.647584] wlx7cdd901d63cb: associate with 80:2a:a8:d7:d1:fe (try 1/3)
[ 306.667489] wlx7cdd901d63cb: RX AssocResp from 80:2a:a8:d7:d1:fe
(capab=0x431 status=0 aid=1)
[ 306.716286] ADDRCONF(NETDEV_CHANGE): wlx7cdd901d63cb: link becomes ready
[ 306.719199] wlx7cdd901d63cb: associated
[ 317.426175] wlx7cdd901d63cb: no IPv6 routers present
# nmtui-conect
+------------------------------------------------+
| |
| +-------------------------------+ |
| | Wired | <Deactivate> |
| | * Wired connection 1 ? | |
| | eth0 ? | |
| | | |
| | Wi-Fi ? | |
| | * qayxsw ** ? | |
| | FRITZ!Box 7312 * ? | |
| | Telekom_FON * ? | |
| | Vodafone Hotspot * ? | |
| | ? | |
| | | <Quit> |
| +-------------------------------+ |
| |
+------------------------------------------------+
root@bananapipro:~# ifconfig
[...]
wlx000f55a60a77 Link encap:Ethernet HWaddr 00:0f:55:a6:0a:77
inet addr:10.1.1.136 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::20f:55ff:fea6:a77/64 Scope:Link
[...]
# nmtui-connect SSID
# nmcli con show
# nmcli con mod "Wired connection 1"
ipv4.addresses "HOST_IP_ADDRESS"
ipv4.gateway "IP_GATEWAY"
ipv4.dns "DNS_SERVER(S)"
ipv4.dns-search "DOMAIN_NAME"
ipv4.method "manual"
Problem: bei mir gab es mit dem installierten network-manager tearing unter kodi. Es wird irgendwie alles, vermutlich durch ständige Hintergrund-Prozesse, verlangsamt, so dass man nicht wirklich fernsehschauen kann.
deshalb Network-Manager entfernen,
# apt-get remove network-manager network-manager-gnome
und das Netzwerk und Wifi von Hand konfigurieren:
Datei: /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="qayxsw"
psk="asdf1234"
}
Datei: /etc/network/interfaces
# Wired adapter #1
#auto eth0
allow-hotplug eth0
no-auto-down eth0
iface eth0 inet dhcp
metric 10
auto wlx000f55a60a77
#allow-hotplug wlx000f55a60a77
iface wlx000f55a60a77 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
metric 20
alternativ wpa_supplicant.conf downloaden alternativ interfaces downloaden
#!/bin/sh -e
#
# rc.local
#
/sbin/route add default gw 10.1.1.1
Update: habe ich jetzt nicht mehr gebraucht, der Fehler ist nicht mehr aufgetreten. Erwähnung nur der Vollständigkeit halber!
# apt-get install lirc lirc-x xinput evtest
apt-get install xautomation
root@bananapipro:/home/chrissie# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: axp20-supplyer
/dev/input/event1: sunxi-ir
Select the device event number [0-1]
1
[...]
Testing ... (interrupt to exit)
Event: time 1526827956.852202, type 1 (EV_KEY), code 1 (KEY_ESC), value 1
Event: time 1526827956.852221, -------------- SYN_REPORT ------------
CTRL-C quits
---
# xinput disable sunxi-ir
# cat /proc/bus/input/devices
[...]
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
N: Name="sunxi-ir"
P: Phys=RemoteIR/input1
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=sysrq rfkill kbd event1
B: PROP=0
B: EV=100003
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
[...]
root@bananapipro:/etc/udev/rules.d# cat 10-local.rules
KERNEL=="event*",ATTRS{phys}=="RemoteIR/input1",SYMLINK+="input/ir"
alternativ 10-local.rules downloaden
# udevadm trigger
root@bananapipro:/etc/udev/rules.d# ls /dev/input/
by-id by-path event0 event1 event2 event3 ir mice mouse0
irrecord -l
# irrecord -H devinput -d /dev/input/ir my_config.cfg
[...]
Hold down an arbitrary button.
................................................................................
Found gap length: 39973
Now enter the names for the buttons.
Please enter the name for the next button (press <ENTER> to finish recording)
KEY_1
Now hold down button "KEY_1"
[...]
begin remote
name vcr.cfg
bits 56
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 8
pre_data 0x0
gap 39973
toggle_bit_mask 0x0
begin codes
KEY_1 0x01000100000001 0x000000BEDCE405
KEY_2 0x01000200000001 0x000000BEDCE405
KEY_3 0x01000300000001 0x000000BEDCE405
KEY_4 0x01000400000001 0x000000BEDCE405
KEY_5 0x01000500000001 0x000000BEDCE405
-----------------------------------------------------^^ delete second hex codes in each line!
[...]
alternativ lircd.conf downloaden
# /etc/lirc/hardware.conf
#
DRIVER="devinput"
DEVICE="/dev/input/ir"
#Chosen Remote Control
REMOTE="None"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/input/ir"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF=""
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
[...]
alternativ hardware.conf downloaden
# mkdir -p /var/run/lirc
# lircd --nodaemon -H devinput -d /dev/input/event3 &
[1] 6066
lircd-0.9.0[6066]: lircd(devinput) ready, using /var/run/lirc/lircd
# irw
lircd-0.9.0[6066]: accepted new client on /var/run/lirc/lircd
lircd-0.9.0[6066]: initializing '/dev/input/event3'
0001001200000001 00 KEY_OK lircd.conf
0001001200000001 00 KEY_OK lircd.conf
0001001200000001 01 KEY_OK lircd.conf
0001001200000001 02 KEY_OK lircd.conf
0001001200000001 00 KEY_OK lircd.conf
0001000100000001 00 KEY_1 lircd.conf
0001000100000001 00 KEY_1 lircd.conf
[...]
# systemctl enable lirc
mkdir -p /var/run/lirc/
/usr/sbin/lircd -H devinput -d /dev/input/ir
irxevent -d
irexec -d
lircd.conf -> /etc/lircd.conf
lircrc -> /home/chrissie/.lircrc
alternativ lircrc downloaden
So startet kodi automatisch, wenn der Banana Pi hochfährt.
Hinweis: in der Playlist settings.xml, die ihr hier laden könnt, sind natürlich Fantasie-Einträge
/home/chrissie/start-kodi.sh
/home/chrissie/.config/autostart/start_kodi.desktop
/home/chrissie/.kodi/userdata/keymaps/gen.xml
/home/chrissie/.kodi/userdata/addon_data/pvr.iptvsimple/settings.xml
hier start-kodi.sh downloaden
hier start_kodi.desktop downloaden
hier gen.xml downloaden
hier settings.xml downloaden
scp start-kodi.sh chrissie@10.1.1.130:
scp start_kodi.desktop chrissie@10.1.1.130:~/.config/autostart/
scp settings.xml chrissie@10.1.1.130:~/.kodi/userdata/addon_data/pvr.iptvsimple/
scp gen.xml chrissie@10.1.1.130:~/.kodi/userdata/keymaps/
$ chmod 755 start-kodi.sh