Hello! I have this cheap SIM card reader that I'd like to make work.
lsusb (-v version below): Bus 001 Device 002: ID 058f:9720 Alcor Micro Corp. Quick inspection reveals it's quite simple: usb->serial chip (au9720) and what looks like a hex inverter. In Linux it binds itself to pl2303 driver (ttyUSB0), and sometimes to cdc_acm (ttyACM0). First one seems the right choice. I sniffed Windows software, SIMEditor, and it looks like it sets baudrate to 19200, then to 9600, and resets the card with DTS and RTS lines. Afterwards card sends ATR, and looks like it can be interfaced with SIM commands. Transfers are always byte by byte. Some relevant data I captured: http://www.coderock.org/tmp/sim-card-reader-atr.log But here's the funny part: I can't get it to send me ATR, or anything. Is there something obvious I'm missing? Is there a similar (same even, since it's very simple hardware?) driver already written? Domen ---------- lsusb -v: Bus 001 Device 002: ID 058f:9720 Alcor Micro Corp. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x058f Alcor Micro Corp. idProduct 0x9720 bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 67 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x01 call management bDataInterface 1 CDC ACM: bmCapabilities 0x06 sends break line coding and serial state CDC Union: bMasterInterface 0 bSlaveInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 1 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 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 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Device Status: 0x0000 (Bus Powered) ---------- _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
