- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
I have bought a blood pressure meter (Microlife BP A200).
It is based on a cypress usb to serial communications.
It works fine under Windows and Linux.
Under Linux:
- a lsusb shows: Bus 001 Device 011: ID 04b4:5500 Cypress Semiconductor Corp. HID->COM RS232 Adapter
- a device is created: /dev/ttyUSB0
Under Mac
- a lsusb shows: Bus 020 Device 020: ID 04b4:5500 Cypress Semiconductor USB to Serial
- no device is created in /dev
Under Mac I use other usb to serial converters. Mainly ftdi. All work fine.
This one doesn't.
VID/PID are correct in both cases.
I have read onCypress website that no drover is needed with Linux and Mac.
So my question is: how to make it work?
Thanks in advance
Regards
Noury
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
Finally, I have found a solution.
It seems that this device, a hid one, is not used as an ordinary serial device in MacOs.
As I prefer writing programs in Python, I've found a library named "hidapi".
I have installed it from homebrew (Mac users coming from Linux world know what it is)
I have also found a Python package named "hid".
With both I can retrieve the device and list its properties.
But for writing programs it's quiet hard.
So I've search a little more, and found a python interface to the HIDAPI library named "python-easyhid".
It is available here: A simple interface to the HIDAPI library.
This way writing programs becomes very easy.
I hope this will be useful for others, and thanks to Yatheesh.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Can you please confirm if you are testing the same device in Linux as well as MAC?
You can try connecting the device to windows and check the configuration of the USB-Serial Device, if its configured as UART in CDC mode?
Best Regards,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi YatheeshK_36
Thanks for your answer.
Yes, I can confirm I use the same device in Linux, Windows and Mac. I have only one device.
I can also confirm it works fine with Windows and Linux.
With MacOs, I can't see the device in /dev.
With Linux, it use the cypress_m8 module, and it is used as a serial device (/dev/ttyUSB0, 115200 8N1)
I'm going to try to answer your question about Windows.
Unfortunately, I'm not comfortable with Windows.
The device appears in "user interface peripheral" (I'm translating from my french Windows, so it may different in an English Windows)
It appears as "HID vendor device"
In the "event tab", I can see:
in: configured péripheral (input.inf)
L'appareil HID\VID_04B4&PID_5500\6&19dad3d9&0&0000 a été configuré. => (which means has been configured)
Nom du pilote : input.inf
GUID de classe : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Date du pilote : 06/21/2006
Version du pilote : 10.0.18362.175
Fournisseur du pilote : Microsoft
Section du pilote : HID_Raw_Inst.NT
Classement du pilote : 0xFF1004
Numéro d'identification d'appareil correspondant : HID_DEVICE_UPR:FF00-FFFF
Pilotes surclassés : input.inf:HID_DEVICE:00FF1005
Appareil mis à jour : false
Appareil parent : USB\VID_04B4&PID_5500\5&1d3e9afd&0&1
======================================================================
in: started peripheral
Le périphérique HID\VID_04B4&PID_5500\6&19dad3d9&0&0000 a été démarré. => (which means started)
Nom du pilote : input.inf
GUID de classe : {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Service :
Filtres inférieurs :
Filtres supérieurs :
======================================================================
It looks like in Windows, the it is not used as a serial device.
In Linux, it does.
I haven't seen a mention about UART in CDC mode. But maybe I haven't searched in the good place.
Regards,
Noury
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please try the following command: "ls -lha /dev/tty*
" before and after plugging in the USB Device to the host and check which dev node is created after the plug in by comparing the two lists.
Thanks,
Yatheesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately no device appears after plugin the device.
bigmac:rigol nb$ ls -lha /dev/tty* > before
bigmac:rigol nb$ ls -lha /dev/tty* > after
bigmac:rigol nb$ diff before after
bigmac:rigol nb$
As you can see there's no difference, unlike when using Linux where /dev/ttyUSB0 appears.
But in dmesg, the following lines appear. But I don't know how to say what they mean:
> IntelAccelerator previous NotReady transaction [ID=3640374, IOSurfaceID=2] sent. kr=0x0
> [IOUserUSBHostHIDDevice.cpp:466][0x1000e0645] Open interface: 0x1000e0640
> [IOUserUSBHostHIDDevice.cpp:606][0x1000e0645] HID descriptor interface:0 index:0 length:37 37 37
> AppleUserUSBHostHIDDevice:0x1000e0645 start
>
> [ElementContainer] Element value capacity 664
>
> [ElementContainer] Report count: 1
>
> [ElementContainer] Report ID: 0 input:64 output:64 feature:40
>
> [IOUserUSBHostHIDDevice.cpp:310][0x1000e0645] inPipe:1 inputReportSize:8 inMaxPacketSize:8 inBufferSize:8
> [IOUserUSBHostHIDDevice.cpp:335][0x1000e0645] outPipe:1 outMaxPacketSize:8
> [AppleUserUSBHostHIDDevice.cpp:103][0x1000e0645] Start ret: 0x0
> DK: AppleUserUSBHostHIDDevice-0x1000e0645::start(IOUSBHostInterface-0x1000e0640) ok
> AppleUserUSBHostHIDDevice:0x1000e0645 creating interfaces
>
> AppleUserUSBHostHIDDevice:0x1000e0645 new user client
>
> IOHIDLibUserClient:0x1000e0651 start
>
> IOHIDLibUserClient:0x1000e0651 setValid: true
>
> IOHIDLibUserClient:0x1000e0651 setStateForQueues: 0x0
>
> IOHIDLibUserClient:0x1000e0651 open
>
> AppleUserUSBHostHIDDevice:0x1000e0645 open by IOHIDLibUserClient 0x1000e0651 (0x0)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all,
Finally, I have found a solution.
It seems that this device, a hid one, is not used as an ordinary serial device in MacOs.
As I prefer writing programs in Python, I've found a library named "hidapi".
I have installed it from homebrew (Mac users coming from Linux world know what it is)
I have also found a Python package named "hid".
With both I can retrieve the device and list its properties.
But for writing programs it's quiet hard.
So I've search a little more, and found a python interface to the HIDAPI library named "python-easyhid".
It is available here: A simple interface to the HIDAPI library.
This way writing programs becomes very easy.
I hope this will be useful for others, and thanks to Yatheesh.