[ Please avoid top-posting. ]
On Wed, Jul 12, 2017 at 01:16:00PM +0300, Anton Avramov wrote:
> I've tried
> modprobe cdc-acm
> echo fff0 0100 > /sys/bus/usb/drivers/cdc_acm/new_id
>
> But it didn't show as a device.
> Here is the relevant output of dmesg:
> [ 379.300082] cdc_acm 4-2:1.0: Zero length descriptor references
> [ 379.300112] cdc_acm: probe of 4-2:1.0 failed with error -22
> [ 379.300134] cdc_acm 4-2:1.1: Zero length descriptor references
> [ 379.300141] cdc_acm: probe of 4-2:1.1 failed with error -22
>
> And here is the output of lsusb -v -d fff0:0100
>
> Bus 004 Device 002: ID fff0:0100
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 1.01
> bDeviceClass 2 Communications
> bDeviceSubClass 0
> bDeviceProtocol 0
> bMaxPacketSize0 64
> idVendor 0xfff0
> idProduct 0x0100
> bcdDevice 1.00
> iManufacturer 1 DATECS
> iProduct 2 Fiscal Printer FP-2000
> iSerial 3 DT653794
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 48
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0xc0
> Self Powered
> MaxPower 0mA
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 2 Communications
> bInterfaceSubClass 2 Abstract (modem)
> bInterfaceProtocol 0 None
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0008 1x 8 bytes
> bInterval 255
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 2
> bInterfaceClass 10 CDC Data
> bInterfaceSubClass 0 Unused
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x02 EP 2 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 0
> Device Status: 0x0001
> Self Powered
It seems you need the NO_UNION_NORMAL quirk. Does the following work
better?
echo fff0 0100 2 076d 0006 > /sys/bus/usb/drivers/cdc_acm/new_id
Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html