Qualcomm 05c6:9024 shows up with Driver=(none), works fine on desktop as Driver=rndis_host

Hi, I have a phone with Qualcomm Snapdragon 205 (MSM8905 ) that can run without the battery, so I'm planning to use it as LTE fallback. The problem is using rc1(I'll try other versions and update) it shows up with "Driver=(none)" whereas it works correctly with Linux Desktop and shows as "Driver=rndis_host"
It does work with other phones.

ID on both is 05c6:9024. I don't think I need to switch mode here.

Any insights?

Did you install kmod-usb-net-rndis package?

Yes, of course. It works with other phones.

More info:
On openwrt

# lsusb -v -d 05c6:9024

Bus 001 Device 005: ID 05c6:9024 BlueBank F320B
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05c6
  idProduct          0x9024
  bcdDevice            4.09
  iManufacturer           1 BlueBank
  iProduct                2 F320B
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0062
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          4 rndis_adb
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass        224
      bFunctionSubClass       1
      bFunctionProtocol       3
      iFunction               7 RNDIS
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       224
      bInterfaceSubClass      1
      bInterfaceProtocol      3
      iInterface              5 RNDIS Communications Control
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 01
      ** UNRECOGNIZED:  04 24 02 00
      ** UNRECOGNIZED:  05 24 06 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              6 RNDIS Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255
      bInterfaceSubClass     66
      bInterfaceProtocol      1
      iInterface              9 ADB Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=05c6 ProdID=9024 Rev= 4.09
S:  Manufacturer=BlueBank
S:  Product=F320B
S:  SerialNumber=
C:* #Ifs= 3 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=(none)
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=(none)
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=ff(vend.) Sub=42 Prot=01 Driver=(none)
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

On PC

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 29 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=05c6 ProdID=9024 Rev= 4.09
S:  Manufacturer=BlueBank
S:  Product=F320B
S:  SerialNumber=
C:* #Ifs= 3 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=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=ff(vend.) Sub=42 Prot=01 Driver=usbfs
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
# lsusb -v -d 05c6:9024

Bus 001 Device 029: ID 05c6:9024 Qualcomm, Inc. F320B
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x05c6 Qualcomm, Inc.
  idProduct          0x9024
  bcdDevice            4.09
  iManufacturer           1 BlueBank
  iProduct                2 F320B
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0062
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          4 rndis_adb
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass        224 Wireless
      bFunctionSubClass       1 Radio Frequency
      bFunctionProtocol       3 RNDIS
      iFunction               7 RNDIS
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      3 RNDIS
      iInterface              5 RNDIS Communications Control
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 01
      ** UNRECOGNIZED:  04 24 02 00
      ** UNRECOGNIZED:  05 24 06 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              6 RNDIS Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66
      bInterfaceProtocol      1
      iInterface              9 ADB Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered) 

I does apparently connect.

Mon Jun 21 01:55:54 2021 kern.info kernel: [ 4524.803647] usb 1-1: USB disconnect, device number 43
Mon Jun 21 01:55:58 2021 kern.info kernel: [ 4528.332685] usb 1-1: new high-speed USB device number 44 using ehci-platform
Mon Jun 21 01:55:58 2021 kern.info kernel: [ 4528.481126] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-101c0000.ehci-1, RNDIS device, ee:95:4b:ce:10:b9
Mon Jun 21 01:55:58 2021 daemon.notice netifd: Interface 'usb0' is enabled
Mon Jun 21 01:55:58 2021 daemon.notice netifd: Network device 'usb0' link is up
Mon Jun 21 01:55:58 2021 daemon.notice netifd: Interface 'usb0' has link connectivity
Mon Jun 21 01:55:58 2021 daemon.notice netifd: Interface 'usb0' is setting up now
Mon Jun 21 01:55:59 2021 daemon.notice netifd: usb0 (31408): udhcpc: started, v1.33.0
Mon Jun 21 01:55:59 2021 daemon.notice netifd: usb0 (31408): udhcpc: sending discover
Mon Jun 21 01:55:59 2021 kern.info kernel: [ 4529.392041] rndis_host 1-1:1.0 usb0: unregister 'rndis_host' usb-101c0000.ehci-1, RNDIS device
Mon Jun 21 01:55:59 2021 daemon.notice netifd: Network device 'usb0' link is down
Mon Jun 21 01:55:59 2021 daemon.notice netifd: Interface 'usb0' has link connectivity loss
Mon Jun 21 01:55:59 2021 daemon.notice netifd: usb0 (31408): udhcpc: read error: Network is down, reopening socket
Mon Jun 21 01:56:00 2021 daemon.notice netifd: usb0 (31408): udhcpc: bind: No such device
Mon Jun 21 01:56:00 2021 daemon.notice netifd: Interface 'usb0' is now down
Mon Jun 21 01:56:00 2021 daemon.notice netifd: Interface 'usb0' is disabled

I was able to manually bind and it does move a little further.

https://hastebin.com/onepurequm.yaml

can you reup your bin?

hello can you post your solution again? I have the same device as you, after registering it immediately unregister, driver show none

[  157.561626@0] usb 1-2: new high-speed USB device number 4 using xhci-hcd
[  157.712269@2] usb 1-2: New USB device found, idVendor=05c6, idProduct=f000
[  157.718524@2] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  157.725594@2] usb 1-2: Product: Android
[  157.730552@2] usb 1-2: Manufacturer: Android
[  157.735705@2] usb 1-2: SerialNumber: 123456789321
[  157.744054@2] usb-storage 1-2:1.0: USB Mass Storage device detected
[  157.751238@3] scsi0 : usb-storage 1-2:1.0
[  181.872327@0] usb 1-2: USB disconnect, device number 4
[  182.183178@3] usb 1-2: new high-speed USB device number 5 using xhci-hcd
[  182.334219@3] usb 1-2: New USB device found, idVendor=05c6, idProduct=9024
[  182.346904@3] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  182.360215@3] usb 1-2: Product: Android
[  182.367666@3] usb 1-2: Manufacturer: Android
[  182.373425@3] usb 1-2: SerialNumber: 123456789321
[  182.396973@2] rndis_host 1-2:1.0 usb0: register 'rndis_host' at usb-xhci-hcd.0.auto-2, RNDIS device, 02:35:34:0b:0d:06
[  182.414505@1] rndis_host 1-2:1.0 usb0: unregister 'rndis_host' usb-xhci-hcd.0.auto-2, RNDIS device
ifconfig: usb0: error fetching interface information: Device not found
root@Rureka:~# lsusb -v -d 05c6:9024

Bus 001 Device 008: ID 05c6:9024 Qualcomm, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x05c6 Qualcomm, Inc.
  idProduct          0x9024 
  bcdDevice           ff.ff
  iManufacturer           1 Android
  iProduct                2 Android
  iSerial                 3 123456789321
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           75
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass        224 Wireless
      bFunctionSubClass       1 Radio Frequency
      bFunctionProtocol       3 RNDIS
      iFunction               7 RNDIS
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      3 RNDIS
      iInterface              5 RNDIS Communications Control
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 01
      ** UNRECOGNIZED:  04 24 02 00
      ** UNRECOGNIZED:  05 24 06 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              6 RNDIS Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

Did Anyone got solution for this..?

I can't make any sense out of this. AFAICS, there is no way we can get that "unregister" message without a USB disconnect. That's the only case it happens. Makes me suspect we are missing messages in the provided log.

But assuming there is an immediate disconnect here then that's caused by the phone firmware. Guessing why is... guesswork. Maybe it's attempting to charge and there isn't enough juice avalable from this port? Or maybe it's designed to dislike OpenWrt hosts? Or maybe it just crashes

I had the same issue with my GL.iNET router (05c6:9024 works on Linux desktop but not with OpenWRT), and I found that removing these lines from /etc/usb-mode.json fixed the issue for me.

                "05c6:9024": {
                        "*": {
                                "t_vendor": 1478,
                                "t_product": [ 36901 ],
                                "mode": "StandardEject",
                                "msg": [  ]
                        }
                },
1 Like

it work
Thank you a lot!!!
How did u find his solution?