Andreas Fett <andreas.f...@secunet.com> writes: > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 3 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 6 > bInterfaceProtocol 22 > iInterface 10 HUAWEI Mobile Connect - Network Card > ** UNRECOGNIZED: 05 24 00 10 01 > ** UNRECOGNIZED: 06 24 1a 00 01 1f > ** UNRECOGNIZED: 0d 24 0f 0c 0f 00 00 00 ea 05 03 00 01 > ** UNRECOGNIZED: 05 24 06 03 03
This is a Huawei vendor specific NCM function. It's the first time I've seen Huawei use subclass 6, and it is not yet matched by the huawei_cdc_ncm driver (in fact, neither is 4 or 5 - which probably should be added as well). Unfortunately there is no easy way to dynamically test this driver with new devices, since it needs the '.driver_info' field. But you could try this patch: diff --git a/drivers/net/usb/huawei_cdc_ncm.c b/drivers/net/usb/huawei_cdc_ncm.c index 2680a65cd5e4..9b452f83e44c 100644 --- a/drivers/net/usb/huawei_cdc_ncm.c +++ b/drivers/net/usb/huawei_cdc_ncm.c @@ -200,6 +200,9 @@ static const struct usb_device_id huawei_cdc_ncm_devs[] = { { USB_VENDOR_AND_INTERFACE_INFO(0x12d1, 0xff, 0x03, 0x16), .driver_info = (unsigned long)&huawei_cdc_ncm_info, }, + { USB_VENDOR_AND_INTERFACE_INFO(0x12d1, 0xff, 0x06, 0x16), + .driver_info = (unsigned long)&huawei_cdc_ncm_info, + }, /* Terminating entry */ { > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 2 Communications > bInterfaceSubClass 6 Ethernet Networking > bInterfaceProtocol 0 > iInterface 16 CDC Ethernet Control Model (ECM) This should work fine with the cdc_ether class driver. But I'm not sure MM knows how to manage it? Neither do I :) I assume it is managed using AT commands over serial functions. > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 2 Communications > bInterfaceSubClass 14 > bInterfaceProtocol 0 This is MBIM and should in theory work by default, using the cdc_mbim class driver. It has a standard management protocol wich MM knows how to use. Definitely the best choice. Unless.... There are problems with the MBIM implementation in a number of newer Huawei devices. Don't know if this is one of them, but it could be. I am very interested in sorting that out. This is the config we want to use if at all possible. What happens if you switch to cfg #3? Is the cdc_mbim driver loaded? Will MM find an MBIM device? Can you connect it? Bjørn _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel