Hi @ All, i lately got a Lexmark X2230 All-In-One printer/scanner device and would like to use the scanner of it under Linux. To help u as much as i can i collected some informations about that device.
OS: Kubuntu 8.0.4.1 Linux R1F 2.6.24-21-generic #1 SMP Mon Aug 25 16:57:51 UTC 2008 x86_64 GNU/Linux sane: 1.0.14-5 Chips found on the controler-board inside the device: 1) SHINDENGEN / MTD 2017G / 00248 2) M29W400DB / 55N1 / 5PSAL / 0345 / KOREA 3) SAMSUNG 425 / K45641632H-UC75 / ZHD817HAS 4) OASIS (www.oasissemi.com) / DIGICOLOR2-LP / OA-982-LP / 0420T 6068343 / AGERE DC1242A I have a picture of the board if that helps somehow. $ lsusb -V lsusb (usbutils) 0.73 $ sudo lsusb -vv -d 043d:0096 Bus 002 Device 003: ID 043d:0096 Lexmark International, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x043d Lexmark International, Inc. idProduct 0x0096 bcdDevice 0.01 iManufacturer 1 Lexmark iProduct 2 Lexmark 2200 Series iSerial 3 21T018521341350 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 94 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 16mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 255 Vendor Specific Subclass bInterfaceProtocol 255 Vendor Specific Protocol iInterface 4 Scan Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN 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 0x01 EP 1 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 0x87 EP 7 IN 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 0x07 EP 7 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 Printer bInterfaceSubClass 1 Printer bInterfaceProtocol 2 Bidirectional iInterface 5 Print 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 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 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 6 Hid HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 73 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 100 Device Status: 0x0001 Self Powered $ sudo sane-find-scanner -v -v ... <device descriptor of 0x043d/0x0096 at 002:003 (Lexmark Lexmark 2200 Series)> bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x043D idProduct 0x0096 bcdDevice 0.01 iManufacturer 1 (Lexmark) iProduct 2 (Lexmark 2200 Series) iSerialNumber 3 (21T018521341350) bNumConfigurations 1 <configuration 0> bLength 9 bDescriptorType 2 wTotalLength 94 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 16 mA <interface 0> <altsetting 0> bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 4 (Scan) <endpoint 0> bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 1> bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 2> bLength 7 bDescriptorType 5 bEndpointAddress 0x87 (in 0x07) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 3> bLength 7 bDescriptorType 5 bEndpointAddress 0x07 (out 0x07) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <interface 1> <altsetting 0> bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 5 (Print) <endpoint 0> bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 1> bLength 7 bDescriptorType 5 bEndpointAddress 0x02 (out 0x02) bmAttributes 2 (bulk) wMaxPacketSize 64 bInterval 0 ms bRefresh 0 bSynchAddress 0 <interface 2> <altsetting 0> bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 6 (Hid) <endpoint 0> bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 100 ms bRefresh 0 bSynchAddress 0 <trying to find out which USB chip is used> checking for GT-6801 ... this is not a GT-6801 (bDeviceClass = 0) checking for GT-6816 ... this is not a GT-6816 (bcdUSB = 0x200) checking for GT-8911 ... this is not a GT-8911 (check 2, bcdUSB = 0x200) checking for MA-1017 ... this is not a MA-1017 (bDeviceClass = 0, bInterfaceClass = 255) checking for MA-1015 ... this is not a MA-1015 (bDeviceClass = 0) checking for MA-1509 ... this is not a MA-1509 (bDeviceClass = 0) checking for LM983[1,2,3] ... this is not a LM983x (bcdUSB = 0x200) checking for GL646 ... this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255) checking for GL646_HP ... this is not a GL646_HP (bDeviceClass = 0, bInterfaceClass = 255) checking for GL660+GL646 ... this is not a GL660+GL646 (bDeviceClass = 0, bInterfaceClass = 255) checking for GL84x ... this is not a GL841 (bDeviceClass = 0, bInterfaceClass = 255) checking for ICM532B ... this is not a ICM532B (check 1, bDeviceClass = 0, bInterfaceClass = 255) checking for PV8630/LM9830 ... this is not a PV8630/LM9830 (bcdUSB = 0x200) checking for M011 ... this is not a M011 (bDeviceClass = 0) checking for RTS8822 ... this is not a RTS8822 (bNumEndpoints = 4) checking for rts8858c ... this is not a rts8858c (bcdUSB = 0x200) checking for SQ113 ... this is not a SQ113 (bNumEndpoints = 4) checking for HP5550/5590/7650 chipset ... this is not a HP5550/5590/7650 chipset (bDeviceClass = 0) checking for rts8801/rts8891 ... this is not a rts8801/rts8891 (bcdUSB = 0x200) <Couldn't determine the type of the USB chip (result from sane-backends 1.0.19)> found USB scanner (vendor=0x043d [Lexmark], product=0x0096 [Lexmark 2200 Series]) at libusb:002:003 ...