Hi,
I recently got an Abbot InsuLinx device, it is a glucometer for diabetics. I'm trying to reverse-engineer their protocol to fetch device's data.
On Windows when first plugged, it install their windows-only application. On linux the device is detected as a CDRom that I can mount. So the first step is to modeswitch the device. I sniffed the USB port on windows (see attached file) but I'm not sure how to know from those logs what usb_modeswitch needs to make the switch.
Before the switch, vid=0x1a61 pid=0x3460
Can someone help me on this?
Re: Abbott Insulinx
lsusb information:
Code: Select all
Bus 003 Device 020: ID 1a61:3460 Abbott Diabetes Care
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1a61 Abbott Diabetes Care
idProduct 0x3460
bcdDevice 1.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 57
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 3
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 0 None
iInterface 4
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 10.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 35
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 2
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 8 Mass Storage
bInterfaceSubClass 6 SCSI
bInterfaceProtocol 80 Bulk-Only
iInterface 5
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
Re: Abbott Insulinx
Do you have any reason to believe that it should switch mode?
Flip-flop devices which needs to be mode switched usually have a single interface, the storage interface for the virtual cd-rom containing the Windows software/drivers.
Your device has the virtual cd-rom interface but has also got a HID interface, I think you should concentrate on logging data arriving on that one.
It is very likely that the data on the HID interface is the data from the pump that you are searching for.
Flip-flop devices which needs to be mode switched usually have a single interface, the storage interface for the virtual cd-rom containing the Windows software/drivers.
Your device has the virtual cd-rom interface but has also got a HID interface, I think you should concentrate on logging data arriving on that one.
It is very likely that the data on the HID interface is the data from the pump that you are searching for.
Re: Abbott Insulinx
Ah ok, both interfaces can be used in parallel, indeed. Ok forget me