Temat: problem z Huwaei E3276 hilink

Mam następujący problem z Huwaei E3276 hilink na Tp-link Archer C7 z OpenWrt 24.10-SNAPSHOT, r29030-ae51d0098e.
Otóż jeśli włączę router i poczekam aż się uruchomi a następnie podłączę modem - wszystko działa poprawnie. W dmesg mam:

[  221.917009] usb-storage 2-1:1.0: USB Mass Storage device detected
[  221.938544] scsi host1: usb-storage 2-1:1.0
[  222.403133] usb 2-1: USB disconnect, device number 2
[  222.916747] usb 2-1: new high-speed USB device number 3 using ehci-platform
[  223.135414] cdc_ether 2-1:1.0 eth2: register 'cdc_ether' at usb-1b400000.usb-1, CDC Ethernet Device, 58:2c:80:13:92:63
[  229.818747] usb 2-1: USB disconnect, device number 3
[  229.836717] cdc_ether 2-1:1.0 eth2: unregister 'cdc_ether' usb-1b400000.usb-1, CDC Ethernet Device
[  230.406777] usb 2-1: new high-speed USB device number 4 using ehci-platform
[  230.678900] cdc_ether 2-1:1.0 eth2: register 'cdc_ether' at usb-1b400000.usb-1, CDC Ethernet Device, 58:2c:80:13:92:63
[  230.690487] usb 2-1: bad CDC descriptors
[  230.695179] usb 2-1: bad CDC descriptors
[  230.699964] usb 2-1: bad CDC descriptors
[  230.704662] usb 2-1: bad CDC descriptors
[  230.709417] usb 2-1: bad CDC descriptors
[  230.714142] usb 2-1: bad CDC descriptors

i modem działa poprawnie.
Jeśli natomiast uruchomię router z włożonym już modemem to w dmesg mam:

[   30.511054] usbcore: registered new interface driver cdc_ether
[   30.539364] usbcore: registered new interface driver cdc_ncm
[   30.578398] usbcore: registered new interface driver cdc_wdm
[   30.610825] usbcore: registered new interface driver huawei_cdc_ncm
[   30.639517] rndis_host 2-1:1.0: skipping garbage
[   30.712667] rndis_host 2-1:1.0 usb0: register 'rndis_host' at usb-1b400000.usb-1, RNDIS device, 5a:2c:80:13:92:63
[   30.723333] usb 2-1: bad CDC descriptors
[   30.727449] usb 2-1: bad CDC descriptors
[   30.731550] usb 2-1: bad CDC descriptors
[   30.735600] usb 2-1: bad CDC descriptors
[   30.739695] usb 2-1: bad CDC descriptors
[   30.743763] usb 2-1: bad CDC descriptors
[   30.747921] usbcore: registered new interface driver rndis_host

i nie mogę się dostać do urządzenia nawet pingiem.

Co może być przyczyną?

2

Odp: problem z Huwaei E3276 hilink

Czy używasz jakiegoś kabla przedłużającego do modemu?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: problem z Huwaei E3276 hilink

Nie, wpinam modem bezpośrednio w port routera.

4

Odp: problem z Huwaei E3276 hilink

Czyli z włożonym ładuje sie jako rndis , a jak go pozniej włożysz to cdc-ether...

Podejrzewam ,że z włożonym też by działał poprawnie , tylko trzeba odpowiedni interfejs wpisać ( bo raz jest eth2 a raz usb0 ) ,więc  pewnie to też (częściowo) to rozwiąże. 
Ale dlaczego tak jest to nie wiem , może coś jest nazmieniane w systemie , i przełącza na innę konfigurację usb tylko podczas startu...

5

Odp: problem z Huwaei E3276 hilink

Trzeba wywalić rndis lub cdc-ether, wtedy będzie ładował się tylko jeden z nich.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: problem z Huwaei E3276 hilink

Jak dobrze kojarzę , to rndis w zależnościach ma cdc-ether ,więc wywalenie tego ostatniego spowoduje ,że rndis i tak działał nie będzie.... Stąd jeśli to jedyna droga , to rndis można spróbować wywalić...

7 (edytowany przez kleszcz 2025-12-19 09:09:49)

Odp: problem z Huwaei E3276 hilink

Jako rndis - nie działa poprawnie, mam regułę hotplug zmieniającą usb0 na eth2 i łączność nie działa

[  235.352371] rndis_host 2-1:1.0: skipping garbage
[  235.374312] rndis_host 2-1:1.0 usb0: register 'rndis_host' at usb-1b400000.usb-1, RNDIS device, 5a:2c:80:13:92:63
[  235.385140] usb 2-1: bad CDC descriptors
[  235.389452] usb 2-1: bad CDC descriptors
[  235.393633] usb 2-1: bad CDC descriptors
[  235.397983] usb 2-1: bad CDC descriptors
[  235.402041] usb 2-1: bad CDC descriptors
[  235.406123] usb 2-1: bad CDC descriptors
[  235.410340] usbcore: registered new interface driver rndis_host
[  235.864217] rndis_host 2-1:1.0 eth2: renamed from usb0
root@garlic:~# ethtool -i eth2
driver: rndis_host
version: 6.6.116
firmware-version: RNDIS device
expansion-rom-version:
bus-info: usb-1b400000.usb-1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
root@garlic:~#

co ciekawe, jeśli nie załaduję przy starcie rndisa modem w ogóle się nie pokazuje, dopiero "modprobe rndis_host" daje to co powyżej

Natomiast jeśli wyjmę modem i włożę z go ponownie to mam:

[  498.427050] usb 2-1: USB disconnect, device number 2
[  498.434529] rndis_host 2-1:1.0 eth2: unregister 'rndis_host' usb-1b400000.usb-1, RNDIS device
[  530.166685] usb 2-1: new high-speed USB device number 3 using ehci-platform
[  530.377013] usb-storage 2-1:1.0: USB Mass Storage device detected
[  530.398521] scsi host1: usb-storage 2-1:1.0
[  530.866394] usb 2-1: USB disconnect, device number 3
[  531.366849] usb 2-1: new high-speed USB device number 4 using ehci-platform
[  531.610294] cdc_ether 2-1:1.0 eth2: register 'cdc_ether' at usb-1b400000.usb-1, CDC Ethernet Device, 58:2c:80:13:92:63

a ethtool pokazuje

# ethtool -i eth2
driver: cdc_ether
version: 6.6.116
firmware-version: CDC Ethernet Device
expansion-rom-version:
bus-info: usb-1b400000.usb-1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

8

Odp: problem z Huwaei E3276 hilink

No to odinstaluj rndis..

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9 (edytowany przez kleszcz 2025-12-19 17:17:52)

Odp: problem z Huwaei E3276 hilink

wywaliłem z ładowania moduły cdc_ether, *cdc_ncm i rndis, bootuję router bez nich:
1. jeśli teraz podłączę modem to wystarczy załadować cdc_ether by wszystko poprawnie działało

root@garlic:~# lsmod |grep cdc
cdc_ether              12288  0
cdc_wdm                16384  1 qmi_wwan
usbcore               155648 16 cdc_ether,qcserial,option,usb_wwan,sierra,qmi_wwan,usbserial,usbnet,usblp,cdc_wdm,ledtrig_usbport,uas,usb_storage,ehci_platform,ehci_fsl,ehci_hcd
usbnet                 24576  2 cdc_ether,qmi_wwan
root@garlic:~# lsmod |grep rndis
root@garlic:~# dmesg | tail -10
[  509.261972] usb 2-1: USB disconnect, device number 2
[  531.216693] usb 2-1: new high-speed USB device number 3 using ehci-platform
[  531.419190] usb-storage 2-1:1.0: USB Mass Storage device detected
[  531.443489] scsi host1: usb-storage 2-1:1.0
[  531.940519] usb 2-1: USB disconnect, device number 3
[  532.436811] usb 2-1: new high-speed USB device number 4 using ehci-platform
[  539.963570] usb 2-1: USB disconnect, device number 4
[  540.526758] usb 2-1: new high-speed USB device number 5 using ehci-platform
[  563.911333] cdc_ether 2-1:1.0 eth2: register 'cdc_ether' at usb-1b400000.usb-1, CDC Ethernet Device, 58:2c:80:13:92:63
[  563.922490] usbcore: registered new interface driver cdc_ether
root@garlic:~#

jeśli jednak wyłączę i włączę zasilanie z włożonym modemem to:

root@garlic:~# lsmod |grep rndis
root@garlic:~# lsmod |grep cdc
cdc_wdm                16384  1 qmi_wwan
usbcore               155648 15 qcserial,option,usb_wwan,sierra,qmi_wwan,usbserial,usbnet,usblp,cdc_wdm,ledtrig_usbport,uas,usb_storage,ehci_platform,ehci_fsl,ehci_hcd
root@garlic:~# dmesg | tail -5
[   90.174814] br-lan: port 3(phy0-ap0) entered disabled state
[   90.180554] ath10k_pci 0000:00:00.0 phy0-ap0: entered allmulticast mode
[   90.187609] ath10k_pci 0000:00:00.0 phy0-ap0: entered promiscuous mode
[   93.468683] br-lan: port 3(phy0-ap0) entered blocking state
[   93.474391] br-lan: port 3(phy0-ap0) entered forwarding state
root@garlic:~# modprobe cdc_ether
root@garlic:~# dmesg | tail -5
[   90.180554] ath10k_pci 0000:00:00.0 phy0-ap0: entered allmulticast mode
[   90.187609] ath10k_pci 0000:00:00.0 phy0-ap0: entered promiscuous mode
[   93.468683] br-lan: port 3(phy0-ap0) entered blocking state
[   93.474391] br-lan: port 3(phy0-ap0) entered forwarding state
[  262.802617] usbcore: registered new interface driver cdc_ether
root@garlic:~# modprobe rndis_host
root@garlic:~# dmesg | tail -12
[   93.474391] br-lan: port 3(phy0-ap0) entered forwarding state
[  262.802617] usbcore: registered new interface driver cdc_ether
[  304.709289] rndis_host 2-1:1.0: skipping garbage
[  304.732672] rndis_host 2-1:1.0 usb0: register 'rndis_host' at usb-1b400000.usb-1, RNDIS device, 5a:2c:80:13:92:63
[  304.743390] usb 2-1: bad CDC descriptors
[  304.747542] usb 2-1: bad CDC descriptors
[  304.751639] usb 2-1: bad CDC descriptors
[  304.755720] usb 2-1: bad CDC descriptors
[  304.759993] usb 2-1: bad CDC descriptors
[  304.764223] usb 2-1: bad CDC descriptors
[  304.768430] usbcore: registered new interface driver rndis_host
[  305.205240] rndis_host 2-1:1.0 eth2: renamed from usb0

Czyli podsumowując: przy uruchamianiu rndis_host jest niezbędny bo inaczej modemu nie widać, chyba że podłączę modem później - wtedy wystarczy cdc_ether. Nie rozumiem

10

Odp: problem z Huwaei E3276 hilink

A co pokazuje " cat /sys/kernel/debug/usb/devices" w obu przypadkach ?
Tam jakiś usb_modeswitch się nie uaktywania ?

11

Odp: problem z Huwaei E3276 hilink

Musi, inaczej by modemu nie przełączył.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: problem z Huwaei E3276 hilink

Modem w trybie cdc_ether:

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  6 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1566 Rev= 1.02
S:  Manufacturer=HUAWEI Technology
S:  Product=HUAWEI Mobile
C:* #Ifs= 8 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 7 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

W trybie rndis:

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1566 Rev= 1.02
S:  Manufacturer=HUAWEI Technology
S:  Product=HUAWEI Mobile
S:  SerialNumber=FFFFFFFFFFFFFFFF
C:* #Ifs= 8 Cfg#= 1 Atr=80 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 4 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 6 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 7 Alt= 0 #EPs= 2 Cls=02(comm.) Sub=02 Prot=ff Driver=(none)
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

Jeszcze mam dwie obserwacje:
1. jeśli włożę modem po starcie routera (cdc_ether) to mogę router restartować i modem będzie działał
2. przy bootowaniu z włożonym modemem (od włączenia zasilania) w dmesg na wczesnym etapie, zaraz po załadowaniu modułu usb-storage pojawia się:

[    6.282297] usbcore: registered new interface driver usb-storage
[    6.291450] usbcore: registered new interface driver uas
[    6.298212] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    6.316068] init: - preinit -
[    6.666906] usb 2-1: new high-speed USB device number 2 using ehci-platform
[    6.676801] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    7.029724] usb-storage 2-1:1.0: USB Mass Storage device detected
[    7.084096] scsi host0: usb-storage 2-1:1.0
[    8.118727] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    9.219237] usb-storage 1-1:1.0: USB Mass Storage device detected
[    9.237155] scsi host1: usb-storage 1-1:1.0
[    9.296784] random: crng init done
[   11.750330] usb 2-1: USB disconnect, device number 2

Przy włożeniu modemu po starcie routera CD-ROM Huawei się nie pojawia.

13

Odp: problem z Huwaei E3276 hilink

Co ci przełącza w takim razie modem? Bo masz inne typy urzdzenia.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: problem z Huwaei E3276 hilink

A w modyfikowanych firmware nie było takiego trybu , że modem podłączał się przełączony , i jak nic się do niego nie podłączyło to dopiero wtedy robił sie CDROM ?

15

Odp: problem z Huwaei E3276 hilink

Na pewno można było cdrom wyłaczyć, ale to w zwykłym, nie hilniku.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: problem z Huwaei E3276 hilink

Na ten modem było wiele modyfikowanych firmware/ w opcjach HiLink nawet takie w których zmieniało się jego adres lokalny IP... .

17

Odp: problem z Huwaei E3276 hilink

Tak , na hilinki też było dużo modów.

Czyli można spróbować odinstalować usb_modeswitch też i zobaczyć ,czy w obu przypadkach nie będzie modemu ( w sensie będzie cdrom ) ,czy też jednak w przypadku wpięcia z uruchomionym openwrt jednak modem sie uruchomi ( w logach nie widać ,żeby usb_modeswitch cokolwiek wtedy robił).

18 (edytowany przez kleszcz 2025-12-20 23:03:01)

Odp: problem z Huwaei E3276 hilink

Nie wiem jak rozumieć "odinstalowanie usb_modeswitch" ale jeśli wystarczy wyłączyć z ładowania przy starcie /etc/init.d/usbmod to niczego to nie zmienia.
Myślę, że kluczowe jest, że podczas uruchamiania zasilania z modemem od momentu wykrycia usb storage cdrom do momentu załadowania właściwych modułów cdc_ether (albo jeszcze innych) mija zbyt dużo czasu i modem robi "coś".
Natomiast gdy włożyć go na uruchmionym systemie to błyskawicznie podłącza i odłącza usb-storage i wtedy modem uruchamia się poprawnie. Nie wiem czy coś jestem z tym w stanie zrobić oprócz wpięcia jakiegoś sterowanego huba?

BTW: urządzenie podłączone do windowsa zachowuje się tak właśnie: najpierw na killkadziesiąt sekund pojawia się cdrom a następnie instaluje się "Remote NDIS based sharing device". Może właśnie powinienem doprowadzić żeby system komunikował się na urządzeniu usb0 rndis? Tylko jak?

19

Odp: problem z Huwaei E3276 hilink

Może ten router ma zasilanie USB sterowane przez GPIO i jakimś cudem jest to zrobione tak ,że da się nim sterować….