Fórum Root.cz
Hlavní témata => Hardware => Téma založeno: martinus26 04. 04. 2021, 12:07:22
-
Kúpil som si USB3.0 hub s ethernet kartou TpLink UE330. Ethernet karta je tam Realtek rt8152.
Chcel som ju pouzit na Rpi400.
Ked Rpi400 je uz spustene a potom pripojim kartu, tak vsetko ide v poriadku.
Ale ked je karta najskor pripojena do USB portu a potom zapnem Rpi400, tak je problem.
lsusb - ukazuje realtek ethernetovu kartu
ip address - nezobrazí eth1 rozhranie (ktore by malo patrit r8152).
Ked odpojim a znova pripojim kartu, vsetko funguje.
Skusil som modprobe r8152 a aj pridat r8152 modul do /etc/modules/
Nepomohlo, karta sa neukaze ako eth1 zariadenie.
Pouzivam Lubuntu 20.04 verzia pre Rpi.
Nevie niekto poradit co s tým ? Napriklad na arm pocitaci Dragonboard410c karta ide bez problemov.
-
Jaky je vystup detekce behem startu systemu?
-
dej sem komplet vystup dmesg se startem se zasunutou a pak se startem s odpojenou a pripojenoiu po startu...
-
tak to asi vyzera ze namiesto drivera r8152 po vysunuti a zasunuti kartysystem pouzije driver cdc ether. Mozno tam je niekde problem.
karta pripojena red startom systemu
/var/log/syslog
Apr 4 09:56:05 rpi400 kernel: [ 6.844235] usbcore: registered new interface driver r8152
dmesg | grep r8152
[ 6.844235] usbcore: registered new interface driver r8152
vypnutie a zanutie karty
[ 1065.980002] usb 1-1.2: USB disconnect, device number 3
[ 1065.980020] usb 1-1.2.3: USB disconnect, device number 5
[ 1066.696677] usb 2-2.4: Failed to set U1 timeout to 0x0,error code -19
[ 1066.696956] usb 2-2.4: Set SEL for device-initiated U1 failed.
[ 1066.697278] usb 2-2.4: Set SEL for device-initiated U2 failed.
[ 1066.697291] usb 2-2.4: usb_reset_and_verify_device Failed to disable LPM
[ 1066.715455] usb 2-2: USB disconnect, device number 3
[ 1066.715467] usb 2-2.4: USB disconnect, device number 4
[ 1071.124107] usb 2-2: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[ 1071.157590] usb 2-2: New USB device found, idVendor=0bda, idProduct=0411, bcdDevice= 1.33
[ 1071.157604] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1071.157612] usb 2-2: Product: 4-Port USB 3.0 Hub
[ 1071.157619] usb 2-2: Manufacturer: Generic
[ 1071.167178] hub 2-2:1.0: USB hub found
[ 1071.168763] hub 2-2:1.0: 4 ports detected
[ 1071.323342] usb 1-1.2: new high-speed USB device number 6 using xhci_hcd
[ 1071.438985] usb 1-1.2: New USB device found, idVendor=0bda, idProduct=5411, bcdDevice= 1.33
[ 1071.439000] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1071.439010] usb 1-1.2: Product: 4-Port USB 2.0 Hub
[ 1071.439019] usb 1-1.2: Manufacturer: Generic
[ 1071.440895] hub 1-1.2:1.0: USB hub found
[ 1071.442178] hub 1-1.2:1.0: 4 ports detected
[ 1071.515555] usb 2-2.4: new SuperSpeed Gen 1 USB device number 6 using xhci_hcd
[ 1071.536819] usb 2-2.4: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
[ 1071.536834] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 1071.536843] usb 2-2.4: Product: USB 10/100/1000 LAN
[ 1071.536852] usb 2-2.4: Manufacturer: Realtek
[ 1071.536861] usb 2-2.4: SerialNumber: 000001000000
[ 1071.620027] usb 2-2.4: reset SuperSpeed Gen 1 USB device number 6 using xhci_hcd
[ 1071.681060] r8152 2-2.4:1.0 eth1: v1.10.11
[ 1071.741497] usbcore: registered new interface driver cdc_ether
-
zkus blacklistnout ten r8152 modul a rebootnout...
echo "blacklist r8152" | sudo tee /etc/modprobe.d/blacklist-r8152.conf
-
Nechybí tomu soubory s firmwarem? Modul r8152 píše, že nějaký potřebuje:
description: Realtek RTL8152/RTL8153 Based USB Ethernet Adapters
author: Realtek linux nic maintainers <nic_swsd@realtek.com>
firmware: rtl_nic/rtl8153b-2.fw
firmware: rtl_nic/rtl8153a-4.fw
firmware: rtl_nic/rtl8153a-3.fw
firmware: rtl_nic/rtl8153a-2.fw
-
Skusil som blacklistovat modul r8512 a reboot.
Pi nabehnuti systemu som eth1 stale nevidel.
Dmesg vypis sa trochu zmenil. Uz nevpisuje riadky
usb 2-2.4: reset SuperSpeed Gen 1 USB device number 6 using xhci_hcd
r8152 2-2.4:1.0 eth1: v1.10.11
dmesg vypis po odpojeni a pripojeni karty (r8152 je na blackliste)
[ 171.790254] usb 1-1.2: USB disconnect, device number 3
[ 172.409028] usb 2-2: USB disconnect, device number 3
[ 172.409049] usb 2-2.4: USB disconnect, device number 4
[ 174.365492] usb 2-2: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[ 174.402190] usb 2-2: New USB device found, idVendor=0bda, idProduct=0411, bcdDevice= 1.33
[ 174.402207] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 174.402218] usb 2-2: Product: 4-Port USB 3.0 Hub
[ 174.402229] usb 2-2: Manufacturer: Generic
[ 174.412340] hub 2-2:1.0: USB hub found
[ 174.413832] hub 2-2:1.0: 4 ports detected
[ 174.472768] usb 1-1.2: new high-speed USB device number 6 using xhci_hcd
[ 174.586559] usb 1-1.2: New USB device found, idVendor=0bda, idProduct=5411, bcdDevice= 1.33
[ 174.586576] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 174.586587] usb 1-1.2: Product: 4-Port USB 2.0 Hub
[ 174.586597] usb 1-1.2: Manufacturer: Generic
[ 174.588439] hub 1-1.2:1.0: USB hub found
[ 174.589425] hub 1-1.2:1.0: 4 ports detected
[ 174.712970] usb 2-2.4: new SuperSpeed Gen 1 USB device number 6 using xhci_hcd
[ 174.734220] usb 2-2.4: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
[ 174.734233] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 174.734243] usb 2-2.4: Product: USB 10/100/1000 LAN
[ 174.734252] usb 2-2.4: Manufacturer: Realtek
[ 174.734260] usb 2-2.4: SerialNumber: 000001000000
[ 174.770400] usbcore: registered new interface driver cdc_ether
Nechybí tomu soubory s firmwarem? Modul r8152 píše, že nějaký potřebuje:
Daju sa niekde stiahnut ?
-
V Debianu je to balíček firmware-realtek, na RPi by to mělo být to samé.
-
Ja mam na rpi Lubuntu.
pozrel som obsah /lib/firmware/rtl_nic nasiel som tam
rtl8105e-1.fw rtl8107e-1.fw rtl8125b-1.fw rtl8153a-3.fw rtl8168d-1.fw rtl8168e-2.fw rtl8168f-2.fw rtl8168g-2.fw rtl8168h-2.fw rtl8411-2.fw
rtl8106e-1.fw rtl8107e-2.fw rtl8125b-2.fw rtl8153a-4.fw rtl8168d-2.fw rtl8168e-3.fw rtl8168fp-3.fw rtl8168g-3.fw rtl8402-1.fw
rtl8106e-2.fw rtl8125a-3.fw rtl8153a-2.fw rtl8153b-2.fw rtl8168e-1.fw rtl8168f-1.fw rtl8168g-1.fw rtl8168h-1.fw rtl8411-1.fw
-
Nasiel som riesenie, metodou pokus omyl :)
vyhodil som r8152 z /etc/modules
Do /etc/modules vlozit iba
cdc_ether
ked sa spusti system, tam lsmod ukaze
cdc_ether 20480 0
r8152 73728 0
A sietova karta funguje.
-
Bola to asi nahoda.
Karta zase nefunguje.
Asi vyskusam inu kartu.
-
Možná jsem mimo, ale nemohlo by jít prostě o problém pořadí inicializace?
Nebo možná v době inicializace usb není dostupný firmware, to by mohlo nastat při použití initrd.
Název rozhraní můžete vynutit pomocí udev rules. Např. používám:
# /etc/udev/rules.d/98-wifi.rules:
ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="sdio", NAME="wlan1"
ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME="wlan0"
# ACTION=="add", SUBSYSTEM=="ieee80211", SUBSYSTEMS=="sdio", RUN+="/usr/sbin/iw phy %k set name phyInt"
# ACTION=="add", SUBSYSTEM=="ieee80211", SUBSYSTEMS=="usb", RUN+="/usr/sbin/iw phy %k set name phyExt"
Přejmenuju tím na RPI integrovanou wifinu na wlan1 (připojení přes sdio) a usb wifinu na wlan0 (připojení přes usb). Zakomentované řádky pak ještě pojmenujou phy rozhraní, protože s ním dále pracuji. To asi nepotřebujete.
-
@Ondrej jemu to neukaze zadne device, ne ze ethX v poradi co nechce
@martinus26 pokud si fw doinstaloval, mozna jen neni neni v initramfs, zkus:
update-initramfs -u
-
@martinus26 pokud si fw doinstaloval, mozna jen neni neni v initramfs, zkus:
update-initramfs -u
RPi defaultně initramdisk vůbec nemá (teda, Raspbian; jestli Lubuntu ano, to vlastně nevím) a ani nevím jestli tam funguje update-initramfs, používal jsem mkinitramfs -o /boot/initrd.
Jinak bych si zjistil jaké moduly jsou zavedené když to funguje a když to nefunguje, oboje smazal (přesunul někam mimo /lib/modules a možná udělal depmod) a pak ručně zavedl po bootu (insmod modul.ko).
-
Skusil som aj vymenit poradie v /etc/modules.
Po pripojeni ethernet kabla na tej sietovke svietia a blikaju ledky. Problem je ze tu kartu nevidim ako ziadne device - nema ziadny nazov.
Este som rozmyslal ci nie je problem v nejakom powersave rezime. Raz davno som mal problem s USB myšou na notebooku ktorá sa vypínala sama od seba.
Pred volanim prikazu update-initramfs -u mám pridat cdc_ether a r8152 do /etc/initramfs-tools/modules ?
-
@Jenda RaspbianOS update-initramfs prikaz vidim, nevim ale pravda co se u nej stane pri spusteni :)
@martinus26
jak Jenda dobre poznamenal, radeji zkontroluj nejdriv ze initramdisk pouzivas, tedy zda uz mas nejaky v /boot
pokud jo, tak bych ty 2 moduly pridal jak pises nez ten prikaz pustis...
na usb powersave bych to nevidel, jednak by se to neuspalo hned po startu a zaroven by to uspavalo i pri zasunuti sitovku az po startu...
-
Vsimol som si nejaky cloud init. asi nieco od Ubuntu. Nemohlo by to robit problemy ?
Initramfs pouzivam, mam system na usb 3.0 kluci naformatovanom na btrfs.
Pridal som modul cdc_etheer a r8153 do initramfs.
Po prvom restarte r8152 (eth1) kartu naslo. Po druhom restarte bola r8152 karta zas nepritomna.
\var\log\syslog ked naslo kartu po prvom restarte
systemd networkd vypisy
Apr 5 08:11:44 rpi400 systemd-networkd[1786]: Enumeration completed
Apr 5 08:11:44 rpi400 systemd[1]: Started Network Service.
Apr 5 08:11:44 rpi400 systemd[1]: Starting Wait for Network to be Configured...
Apr 5 08:11:44 rpi400 systemd-networkd[1786]: eth1: IPv6 successfully enabled
Apr 5 08:11:44 rpi400 systemd-networkd[1786]: eth0: IPv6 successfully enabled
Apr 5 08:11:44 rpi400 systemd[1]: Starting Network Name Resolution...
Apr 5 08:11:44 rpi400 systemd-networkd[1786]: eth1: Link UP
Apr 5 08:11:44 rpi400 systemd-networkd[1786]: eth0: Link UP
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: +++++++++++++++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++++++++++++++
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: +--------+-------+------------------------------+---------------+--------+-------------------+
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | eth0 | False | fe80::e65f:1ff:fe05:936b/64 | . | link | e4:xxxxxxxxxx |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | eth1 | True | 192.168.1.102 | 255.255.255.0 | global | d0:xxxxxxxx |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | eth1 | True | fe80::d237:45ff:feca:8ed1/64 | . | link | d0:xxxxxxxxxxx |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | lo | True | ::1/128 | . | host | . |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: | wlan0 | False | . | . | . | e4:xxxxxxxx |
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: +--------+-------+------------------------------+---------------+--------+-------------------+
Apr 5 08:11:44 rpi400 cloud-init[1802]: ci-info: +++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++
-
a vypis /var/log/syslog po restarte ked uz kartu nenaslo
Apr 5 08:40:35 rpi400 systemd[1]: Starting Network Service...
Apr 5 08:40:35 rpi400 systemd-networkd[1799]: Enumeration completed
Apr 5 08:40:35 rpi400 systemd[1]: Started Network Service.
Apr 5 08:40:35 rpi400 systemd[1]: Starting Wait for Network to be Configured...
Apr 5 08:40:35 rpi400 systemd-networkd[1799]: eth0: IPv6 successfully enabled
Apr 5 08:40:35 rpi400 systemd[1]: Starting Network Name Resolution...
Apr 5 08:40:35 rpi400 systemd-networkd[1799]: eth0: Link UP
Apr 5 08:40:35 rpi400 systemd[1]: Finished Wait for Network to be Configured.
Apr 5 08:40:35 rpi400 systemd[1]: Starting Initial cloud-init job (metadata service crawler)...
Apr 5 08:40:35 rpi400 cloud-init[1806]: Cloud-init v. 20.4.1-0ubuntu1~20.04.1 running 'init' at Mon, 05 Apr 2021 08:40:33 +0000. Up 15.69 seconds.
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: +++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: | eth0 | False | . | . | . | e4:xxxxxxxx |
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: | lo | True | ::1/128 | . | host | . |
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: | wlan0 | False | . | . | . | e4:xxxxxxxxxxxxxx |
Apr 5 08:40:35 rpi400 cloud-init[1806]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
cloud init nastavenie /etc/netplan/50-cloud-init.yaml
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
pozrel som aj nastavenie netplanu v /etc/netplan/01-network-manager-all.yaml
predd prvym pripojenim r8152 pridal som tam eth1
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.102/24
gateway4: 192.168.1.4
nameservers:
addresses: [194.36.144.8, 208.67.220.220]
eth1:
dhcp4: no
addresses:
- 192.168.1.102/24
gateway4: 192.168.1.4
nameservers:
addresses: [194.36.144.8, 208.67.220.220]
Mozno bude problemom konflikt /etc/netplan/50-cloud-init.yaml a etc/netplan/01-network-manager-all.yaml
-
Posli ten vypis kompletni vcetne detekce HW tohle je k nicemu..
-
Zbavil som sa cloud initu a zmazal cloud init yaml z netplanu.
Kompletny var log syslog ked system nevidi r8152 ako eth1.
-
Videt to je a dost brzo:
Apr 5 09:03:32 rpi400 kernel: [ 2.816187] usb 2-2.4: new SuperSpeed Gen 1 USB device number 4 using xhci_hcd
Apr 5 09:03:32 rpi400 kernel: [ 2.837027] usb 2-2.4: New USB device found, idVendor=0bda, idProduct=8152, bcdDevice=30.00
Apr 5 09:03:32 rpi400 kernel: [ 2.837034] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
Apr 5 09:03:32 rpi400 kernel: [ 2.837038] usb 2-2.4: Product: USB 10/100/1000 LAN
Apr 5 09:03:32 rpi400 kernel: [ 2.837042] usb 2-2.4: Manufacturer: Realtek
Apr 5 09:03:32 rpi400 kernel: [ 2.837046] usb 2-2.4: SerialNumber: 000001000000
Trochu pozdeji:
Apr 5 09:03:32 rpi400 kernel: [ 4.844243] usbcore: registered new interface driver cdc_ether
Apr 5 09:03:32 rpi400 kernel: [ 4.853136] usbcore: registered new interface driver r8152
-
Zkuste přidat parametr: net.ifnames=0
-
Zkuste přidat parametr: net.ifnames=0
do ktoreho konfiguracneho suboru to pridat ?
-
Zkuste přidat parametr: net.ifnames=0
do ktoreho konfiguracneho suboru to pridat ?
Na kernel command line = musí se to dostat do bootloaderu. Tzn. v Debianu apod. bych hledal vhodnou proměnnou v /etc/default/grub , a následně provést update-grub .
Jo a modul r8152 samozřejmě nesmí být v blacklistu, pokud má fungovat.
-
Zkuste přidat parametr: net.ifnames=0
do ktoreho konfiguracneho suboru to pridat ?
Na kernel command line = musí se to dostat do bootloaderu. Tzn. v Debianu apod. bych hledal vhodnou proměnnou v /etc/default/grub , a následně provést update-grub .
Jo a modul r8152 samozřejmě nesmí být v blacklistu, pokud má fungovat.
ech pardon, teď koukám, že jde o RPI. Tam samozřejmě grub nebude.
Vidím v dokumentaci /boot/cmdline.txt (https://www.raspberrypi.org/documentation/configuration/cmdline-txt.md)
-
Pozrel som /boot/firmware/cmdline.txt a tam bolo nastavené net.ifnames=0.
Skusil som zmenit na net.ifnames=1. Restartoval som.
System nabehol , sietova karta r8152 sa ukazala ako enhxxxxxxx . upravil som meno r8152 karty v netplan konfigu. Všetko fungovalo.
Restartoval som. System nabehol, r8152 zase zmizla.
Mam pocit ze ked spravim nejaku zmenu, vydrzi to 1 restart. Potom to padne do stavu sietovy interface r8152 je neviditelny.
-
Pomůže rmmod a modprobe?
Pomůže usbreset? https://www.programmersought.com/article/2409293360/ Možná se dá zařízení i nějak jinak odebrat a přidat.
Má RPi ovládané napájení USB portů, že by se té kartě udělal power cycle?
-
[ 1071.515555] usb 2-2.4: new SuperSpeed Gen 1 USB device number 6 using xhci_hcd
[ 1071.536819] usb 2-2.4: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
[ 1071.536834] usb 2-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 1071.536843] usb 2-2.4: Product: USB 10/100/1000 LAN
[ 1071.536852] usb 2-2.4: Manufacturer: Realtek
[ 1071.536861] usb 2-2.4: SerialNumber: 000001000000
[ 1071.620027] usb 2-2.4: reset SuperSpeed Gen 1 USB device number 6 using xhci_hcd
[ 1071.681060] r8152 2-2.4:1.0 eth1: v1.10.11
Takže když to nefunguje, tak se ten poslední řádek vůbec nezobrazí - přestože generický USB subsystém to zařízení najde a nahlásí. To by mě zajímalo, jestli je v "neúspěšném" případě vůbec volána "probe" funkce ovladače r8152.
Ta poslední hláška ve výpisu podle mého leze právě odsud (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/usb/r8152.c#n6850) = na samém konci úspěšně doběhlé probe funkce.
Já být v téhle situaci, asi bych jako další krok přidal jednu bezpodmínečnou hlášku dev_info() úplně na začátek probe rutiny, hned za deklaraci proměnných - aby se vidělo, jestli kernel tu probe rutinu vůbec zavolá. A odtamtud případně někam dál pokračovat. Bohužel to znamená, mít možnost, driver rekompilovat ze zdrojáku.
Trochu ještě šilhám na function tracing (https://jvns.ca/blog/2017/03/19/getting-started-with-ftrace/) = zda by to nešlo na živém zvířátku... no nevím, jestli lze spustit ftrace na "static int r8152_probe()" - odhadem nikoli, protože je deklarována "static" tzn symbol není v rámci kernelu globálně exportován, je použitelný pouze v rámci své translation unit (= v rámci svého zdrojáku).