[Solved] ZTE MF823 in RNDIS mode and Buffalo WBMR-HP-G300H not working together. Bug report?


I am trying to get my old Buffalo WBMR-HP-G300H to work with a ZTE MF823 4G USB stick. The stick has a small in-built linux and present itself like an ethernet network and using the interface with DHCP should be simple way to get things working. I have followed the wiki instructions and all look good until I try to active the connection ==> crash and reboot every single time.
I tested installing Openwrt on a Raspberry Pi model B following the same instruction and there the Modem works out of the box as described. dhcp address received and network activation without any problem.
Is there possibly a problem with RNDIS driver for the lantiq chip used in the Buffalo WBMR-HP-G300H ? I could try more troubleshooting but I don't know how to capture logs on driver level to see what actually goes wrong in the communication between the router and the usb stick.

This version of the MF823 has the telnet port closed and sets itself into mode 1403 (Rndis adapter) after modeswitch.
I have googled to see if I could set the modem into CDC-NET mode instead but that actually requires writing curl commands to the modem base address (192.168.x.1), which in turn requires an active interface which in turn leads to a reboot on the Buffalo router .... ==> catch 22.

I got one small hint from hitting ifconfig usb0 while trying to bring the modem up, All RX packets were marked as frame errors like below and since this works on the Rpi I started suspecting a driver-level problem. (I did not copy the exact output when it happened and could not reproduce the same output tonight but the RX errors were there):

usb0 Link encap:Ethernet HWaddr 72:64:98:C6:E5:2D
RX packets:55 errors:0 dropped:0 overruns:0 frame:55
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:x (x.x B) TX bytes:y (y.y B)

Otherwise things look exactly as in the wiki instruction (see included info below).

Any help or pointers appreciated

Output from dmesg:

[ 617.107249] usb 1-1: new high-speed USB device number 2 using dwc2
[ 623.223475] usb 1-1: USB disconnect, device number 2
[ 623.711399] usb 1-1: new high-speed USB device number 3 using dwc2
[ 623.977517] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-1e101000.ifxhcd-1, RNDIS device, 6e:c5:9e:bc:34:26

root@OpenWrt:~# lsusb

Bus 001 Device 004: ID 19d2:1403 ZTE WCDMA Technologies MSM
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 4.09
S: Manufacturer=Linux 4.9.111 dwc2_hsotg
S: Product=DWC OTG Controller
S: SerialNumber=1e101000.ifxhcd
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 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=19d2 ProdID=1403 Rev=52.19
S: Manufacturer=ZTE,Incorporated
S: Product=ZTE Technologies MSM
S: SerialNumber=MF8230ZTED000000
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=500mA
A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=rndis_host
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

extract from /etc/network/config

config interface 'wan'
option ifname 'usb0'
option proto 'dhcp'
option auto '0'
option delegate '0'



Solved by upgrading to 18.06.1


1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.