[ 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html