how to communicate with HIDDEV0 and HIDRAW0 devices. Blood Glucose Meter (Abbott FREESTYLE OPTIUM NEO)
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
how to communicate with HIDDEV0 and HIDRAW0 devices. Blood Glucose Meter (Abbott FREESTYLE OPTIUM NEO)
I have a Abbotts Optimum Neo Glucose Meter. Which I wish to connect to my computer --ubuntu (wheezy). All I wish to do is to extract the data that is collected on the device so that I can provided it to my doctor. The simple straight forward task of just connecting it a USB port and thinking it was going to mount as a usb drive was a grave misconception.
I tried run the Abbotts proprietary software for windows through wine and just wouldn't load.
I haven't a copy of windows to set up a vmware environment.
I tried some programs that are meant to interface with the glucose meter. All failed.
I tried glucometerutils : python3 ./glucometer.py --driver freestyle_optium --device /dev/usb info
FAIL
I tried Glucose : FAIL
How do you communicate with hiddev0 & hidraw0?
All i want to do is dump the data to a readable file.
[/QUOTE]
when the device is connected via USB cable. It am presuming it registers itself as a hiddev0 (/dev/usb/hidev0). At least that is what I was lead to believe from the dmesg output.
Quote:
dmesg
[ 1448.005112] usb 2-2: USB disconnect, device number 5
[ 1458.328340] usb 2-2: new full-speed USB device number 6 using xhci_hcd
[ 1458.469673] usb 2-2: New USB device found, idVendor=1a61, idProduct=3850
[ 1458.469675] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1458.469676] usb 2-2: Product: ADC P2
[ 1458.469677] usb 2-2: Manufacturer: Abbott Diabetes Care
[ 1458.471359] hid-generic 0003:1A61:3850.0002: hiddev0,hidraw0: USB HID v10.10 Device [Abbott Diabetes Care ADC P2] on usb-0000:00:14.0-2/input0
Quote:
# lsusb
Bus 001 Device 002: ID 8087:8001 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 8087:07dc Intel Corp.
Bus 002 Device 003: ID 04f2:b3a3 Chicony Electronics Co., Ltd
Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 006: ID 1a61:3850 Abbott Diabetes Care
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Quote:
# lsusb -vd 1a61:3850
Bus 002 Device 006: ID 1a61:3850 Abbott Diabetes Care
Distribution: Debian testing/sid; OpenSuSE; Fedora; Mint
Posts: 5,524
Rep:
The format of the data in the meter could be literally anything. You can try
Code:
$ dd if=/dev/hidraw0
and see if anything pops up. You can also use minicom to try to establish a serial connection. Just use hidraw0 as the port, and experiment with baud rate.
Some devices connect as usb-storage. But a lot of others speak some sort of protocol. PTP or otherwise, gphoto2 is kind of nice for interacting with devices like that. I've seen hidraw type things in packages and kernel stuffs, so there probably is a way. I just never had a need myself.
According to /var/lib/dpkg/available in debian testing:
python-hidapi
- depends on libhidapi-hidraw0
python-hid
- also depends on that lib (cython interface to hidapi)
usbrelay
openocd
-----
Seems like most of those are programming type interfaces. Seems like hidraw0 is a usb HID thing (human interface device, like a keyboard / mouse). Google seems to suggest that it creates a /dev/hidraw0 device.
Seems to be a start at least. Other things also use the hidraw0 dev thing too, like the ubikey. But that github project mentions your device specifically. At least the google hit did.
Thank you Shadow 7, Ironically just prior to reading your post I was actually at the point of delving into exactly the same information that you have iterated in your post. It seems there is more to this process that is ABOVE and beyond just simply running a command.
Very frustrating ......
SOLVED IT - Had to set the permissions correctly on /dev/hidraw*
How I came about working it out was the through the most excellent AwesomeMachine who gave me a great diagnostic tool" dd if=/dev/hidraw0 * ". I just couldn't get the glucose meter to send any data. So I grabbed a Usb Mouse which should of worked. Yet it failed.
Which made me think it was a permission issue. It was.....
Quote:
chmod 666 /dev/hidraw*
Quote:
Output
RawPacket: "
RawPacket: `/0,100,130,3,2,99,0,0,0
CKSM:00000433
CMD OK
RawPacket: `*0,0,0,0,0,0,0,0,0
CKSM:00000327
CMD OK
SOLVED IT - Had to set the permissions correctly on /dev/hidraw*
Please, do you run a proprietary FreeStyle Auto-Asist Neo in Wine ? I got 'glucometerutils' with a driver fsprecisionneo running without problems on my hidraw5, but all it can get is a long ascii list of mg/dl values. I'd really like to have printable diagrams and charts from the proprietary software, if possible.
The proprietary Free Style software which specifically supports Neo, installs and runs in Wine (permission 666 set on all hidraws), yet it can't recognise my connected Neo meter; it always displays a message "meter not connected". What have you done to run it ?
Or, if you are no longer fan of FS Neo, can you recommend a glucometer which you've been able to run, and actually works as expected in Wine ? Thank you.
Hi,
I solved this way. I'm using Ubuntu 18.04.5 LTS x86_64 with kernel 5.4.0-81-generic
1) connect the device and check
$ lsusb
.
.
.
Bus 001 Device 036: ID 1a61:3850 Abbott Diabetes Care
.
.
.
$ dmesg
....
[92151.692077] usb 1-1.4: USB disconnect, device number 35
[92159.848178] usb 1-1.4: new full-speed USB device number 36 using xhci_hcd
[92159.957747] usb 1-1.4: New USB device found, idVendor=1a61, idProduct=3850, bcdDevice= 1.00
[92159.957760] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[92159.957769] usb 1-1.4: Product: ADC P2
[92159.957776] usb 1-1.4: Manufacturer: Abbott Diabetes Care
[92159.963700] hid-generic 0003:1A61:3850.000A: hiddev1,hidraw6: USB HID v10.10 Device [Abbott Diabetes Care ADC P2] on usb-0000:00:14.0-1.4/input0
Or, if you are no longer fan of FS Neo, can you recommend a glucometer which you've been able to run, and actually works as expected in Wine ? Thank you.
I wrote diabetes application called GGC which is writen in Java (https://github.com/andyrozman/ggc) and supports many meter devices (most of them are old, but there are few new ones there). You could try to see if it suits your needs. At the time of writing this (14.4.2024), I am just prearing for next release, but if you contact me on github I can get you preliminary version for testing.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.