You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(4) |
Feb
(19) |
Mar
(5) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(21) |
Aug
(27) |
Sep
|
Oct
(5) |
Nov
(4) |
Dec
(3) |
| 2002 |
Jan
(27) |
Feb
(33) |
Mar
(25) |
Apr
(40) |
May
(58) |
Jun
(25) |
Jul
(39) |
Aug
(23) |
Sep
(15) |
Oct
(26) |
Nov
(75) |
Dec
(35) |
| 2003 |
Jan
(29) |
Feb
(13) |
Mar
(24) |
Apr
(58) |
May
(27) |
Jun
(21) |
Jul
(11) |
Aug
(24) |
Sep
(6) |
Oct
(6) |
Nov
(30) |
Dec
(71) |
| 2004 |
Jan
(125) |
Feb
(47) |
Mar
(31) |
Apr
(29) |
May
(53) |
Jun
(29) |
Jul
(43) |
Aug
(19) |
Sep
(69) |
Oct
(38) |
Nov
(38) |
Dec
(37) |
| 2005 |
Jan
(59) |
Feb
(92) |
Mar
(32) |
Apr
(54) |
May
(29) |
Jun
(27) |
Jul
(34) |
Aug
(46) |
Sep
(47) |
Oct
(43) |
Nov
(63) |
Dec
(112) |
| 2006 |
Jan
(99) |
Feb
(117) |
Mar
(68) |
Apr
(59) |
May
(66) |
Jun
(32) |
Jul
(65) |
Aug
(85) |
Sep
(44) |
Oct
(113) |
Nov
(334) |
Dec
(42) |
| 2007 |
Jan
(64) |
Feb
(147) |
Mar
(245) |
Apr
(427) |
May
(229) |
Jun
(66) |
Jul
(56) |
Aug
(58) |
Sep
(82) |
Oct
(109) |
Nov
(196) |
Dec
(78) |
| 2008 |
Jan
(143) |
Feb
(79) |
Mar
(85) |
Apr
(126) |
May
(405) |
Jun
(259) |
Jul
(218) |
Aug
(118) |
Sep
(116) |
Oct
(135) |
Nov
(105) |
Dec
(79) |
| 2009 |
Jan
(196) |
Feb
(146) |
Mar
(60) |
Apr
(180) |
May
(229) |
Jun
(206) |
Jul
(126) |
Aug
(155) |
Sep
(276) |
Oct
(160) |
Nov
(120) |
Dec
(185) |
| 2010 |
Jan
(685) |
Feb
(581) |
Mar
(460) |
Apr
(650) |
May
(495) |
Jun
(567) |
Jul
(375) |
Aug
(518) |
Sep
(531) |
Oct
(487) |
Nov
(269) |
Dec
(461) |
| 2011 |
Jan
(524) |
Feb
(457) |
Mar
(385) |
Apr
(316) |
May
(229) |
Jun
(480) |
Jul
(302) |
Aug
(243) |
Sep
(411) |
Oct
(158) |
Nov
(171) |
Dec
(269) |
| 2012 |
Jan
(117) |
Feb
(177) |
Mar
(225) |
Apr
(251) |
May
(150) |
Jun
(228) |
Jul
(127) |
Aug
(74) |
Sep
(128) |
Oct
(106) |
Nov
(47) |
Dec
(73) |
| 2013 |
Jan
(83) |
Feb
(224) |
Mar
(69) |
Apr
(182) |
May
(118) |
Jun
(52) |
Jul
(180) |
Aug
(43) |
Sep
(43) |
Oct
(54) |
Nov
(18) |
Dec
(43) |
| 2014 |
Jan
(40) |
Feb
(78) |
Mar
(138) |
Apr
(85) |
May
(65) |
Jun
(81) |
Jul
(56) |
Aug
(116) |
Sep
(123) |
Oct
(60) |
Nov
(74) |
Dec
(99) |
| 2015 |
Jan
(120) |
Feb
(126) |
Mar
(176) |
Apr
(133) |
May
(124) |
Jun
(60) |
Jul
(54) |
Aug
(92) |
Sep
(134) |
Oct
(75) |
Nov
(48) |
Dec
(78) |
| 2016 |
Jan
(94) |
Feb
(89) |
Mar
(109) |
Apr
(33) |
May
(25) |
Jun
(64) |
Jul
(54) |
Aug
(26) |
Sep
(59) |
Oct
(30) |
Nov
(77) |
Dec
(16) |
| 2017 |
Jan
(37) |
Feb
(22) |
Mar
(25) |
Apr
(7) |
May
(36) |
Jun
(10) |
Jul
(64) |
Aug
(39) |
Sep
(22) |
Oct
(26) |
Nov
(27) |
Dec
(14) |
| 2018 |
Jan
(10) |
Feb
(31) |
Mar
(15) |
Apr
(35) |
May
(20) |
Jun
(13) |
Jul
(10) |
Aug
(6) |
Sep
(22) |
Oct
(13) |
Nov
(52) |
Dec
(23) |
| 2019 |
Jan
(25) |
Feb
(17) |
Mar
(30) |
Apr
(34) |
May
(12) |
Jun
(10) |
Jul
(26) |
Aug
(13) |
Sep
(24) |
Oct
(12) |
Nov
(9) |
Dec
(5) |
| 2020 |
Jan
(24) |
Feb
(12) |
Mar
(40) |
Apr
(20) |
May
(12) |
Jun
(10) |
Jul
(41) |
Aug
(20) |
Sep
(24) |
Oct
(4) |
Nov
(6) |
Dec
(38) |
| 2021 |
Jan
(34) |
Feb
(33) |
Mar
(10) |
Apr
(12) |
May
(10) |
Jun
(49) |
Jul
(49) |
Aug
(17) |
Sep
(43) |
Oct
(11) |
Nov
(2) |
Dec
(13) |
| 2022 |
Jan
(14) |
Feb
(14) |
Mar
(1) |
Apr
(6) |
May
(6) |
Jun
(10) |
Jul
|
Aug
(3) |
Sep
(6) |
Oct
(19) |
Nov
(9) |
Dec
(5) |
| 2023 |
Jan
(4) |
Feb
(9) |
Mar
(30) |
Apr
(17) |
May
(5) |
Jun
|
Jul
(39) |
Aug
(7) |
Sep
(3) |
Oct
(6) |
Nov
|
Dec
(3) |
| 2024 |
Jan
(2) |
Feb
|
Mar
(17) |
Apr
(16) |
May
(14) |
Jun
(13) |
Jul
(7) |
Aug
(3) |
Sep
(8) |
Oct
(19) |
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Tim R. <ti...@pr...> - 2024-09-24 00:36:54
|
Aaron Gomez | Rother Industries & Technology wrote: > > I know my device under test only has one class, but by "multi-class" I > mean that it is a device that can recognize different device classes > (standard classes registred by USB). > I still don't know what you mean by that. It's darned near impossible to write a driver that handles multiple device classes, because the protocols are all entirely different. (A libusb app is essentially a user-mode driver.) -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Ларионов Д. <scu...@ya...> - 2024-09-20 19:59:59
|
> If you can use c++, there is a great library for discovering and > communicating with serial devices called QSerialPort That's... a stretch, to put it mildly. QSerialPort is a class which is a part of Qt, which in turn is an utterly gargantuan framework. Personally I find it (Qt) great and almost exclusively use it all the time instead of STL, but even I wouldn't blanket-endorse it for all situations. > On 2024-09-20 13:55, Tim Roberts wrote: > >>> How to know the ttyUSBx/ttyACMx/... name with libusb? I could see that when I >>> connect the device in the path dev/serial/by-id/ a file >>> is created where its name is the components of string >>> descriptor and it is linked with the ttyUSBx/ttyACMx/... >>> (path: /dev/tty...) file which I need to open this file >>> descriptor and start the communication. >> >> Well, hang on. If you have a ttyXXX device, then that means >> you already have a driver that is converting the USB device into >> a serial device. You cannot use libusb to talk to a /dev/ttyXXX >> device. /dev/ttyXXX speaks serial protocol, not USB protocol. > > If you can use c++, there is a great library for discovering and > communicating with serial devices called QSerialPort > > Jon |
|
From: drwho <dr...@in...> - 2024-09-20 18:33:23
|
On 2024-09-20 13:55, Tim Roberts wrote: >> >> How to know the ttyUSBx/ttyACMx/... name with libusb? I could see >> that when I connect the device in the path dev/serial/by-id/ a file >> is created where its name is the components of string descriptor and >> it is linked with the ttyUSBx/ttyACMx/... (path: /dev/tty...) file >> which I need to open this file descriptor and start the communication. >> > Well, hang on. If you have a ttyXXX device, then that means you > already have a driver that is converting the USB device into a serial > device. You cannot use libusb to talk to a /dev/ttyXXX device. > /dev/ttyXXX speaks serial protocol, not USB protocol. > If you can use c++, there is a great library for discovering and communicating with serial devices called QSerialPort <https://doc.qt.io/qt-6/qserialport.html> Jon |
|
From: Tim R. <ti...@pr...> - 2024-09-20 17:55:49
|
Aaron Gomez | Rother Industries & Technology wrote: > > I am currently using the FTDI device but only for testing. Finally I > will use a software library created by me where I will use libusb and > I will use it with other devices that are multi-class (standard). For > this reason I wish obtain this via libusb. > > I know I could use the FTDI drivers but I want to get a general one > for multi-class devices. > I don't know what you mean by "multi-class (standard)". The FTDI232R has its device class and subclass embedded in its device descriptor. It has exactly one class. > How to know the ttyUSBx/ttyACMx/... name with libusb? I could see that > when I connect the device in the path dev/serial/by-id/ a file is > created where its name is the components of string descriptor and it > is linked with the ttyUSBx/ttyACMx/... (path: /dev/tty...) file which > I need to open this file descriptor and start the communication. > Well, hang on. If you have a ttyXXX device, then that means you already have a driver that is converting the USB device into a serial device. You cannot use libusb to talk to a /dev/ttyXXX device. /dev/ttyXXX speaks serial protocol, not USB protocol. -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Igor F. <igo...@gm...> - 2024-09-20 05:02:30
|
On Thu, Sep 19, 2024 at 11:12 AM Tim Roberts <ti...@pr...> wrote: > > > Is it possible to communicate with the device only by using libusb > > library? > > > Is it possible? Theoretically, yes, but only if you have the time, the > energy, and the expertise to reverse engineer the protocol from a > running device. In practical terms, no. Just use the drivers from FTDI. > > https://www.intra2net.com/en/developer/libftdi/ > libFTDI - FTDI USB driver with bitbang mode libFTDI is an open source *library to talk to FTDI <https://www.ftdichip.com/> chips:* - FT230X - FT4232H / FT2232H - FT232R / FT245R - FT2232L / FT2232D / FT2232C - FT232BM / FT245BM (and the BL/BQ variants) - FT8U232AM / FT8U245AM The library is linked with your program in userspace, no kernel driver required. libFTDI works perfectly with Linux, Windows, MacOS X and BSD variants thanks to libusb. |
|
From: Tim R. <ti...@pr...> - 2024-09-19 18:08:26
|
Aaron Gomez | Rother Industries & Technology wrote: > > I have been looking at the libusb source code and I have seen that > there are function to recognize the devices connect via USB and get a > list of them, a function to open devices by vendor ID and product ID, > a function to get the device descriptor and and many more. > > I would like to know if it is possible to obtain communication through > the serial port using an FTDI device. > Which FTDI device? Is it the FT232R? > I have been trying to open my device and perform data transfer but I > have not been able to do so. The steps I have followed have been to > initialize libusb, get the list of devices and get the device > descriptor. I recognized my device by vendor ID and product ID. I > reference the device, I open it and check the function > libusb_kernel_driver_active and libusb_claim_interface but at this > point I get an error. This error is LIBUSB_ERROR_PIPE. > The big problem is that the FT232R is not a USB Communication Class-compliant device. So, you can't just plug it in and use a standard USB serial port driver. Further, FTDI has never documented the protocol their devices use. You can't know which registers to poke for configuration, or what status values mean, or even which pipes carry which data. Thus, you are essentially forced to use their D2XX drivers. Fortunately, those drivers are fairly thin, so they don't add a lot of overhead. > Is it possible to communicate with the device only by using libusb > library? > Is it possible? Theoretically, yes, but only if you have the time, the energy, and the expertise to reverse engineer the protocol from a running device. In practical terms, no. Just use the drivers from FTDI. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Jörn M. [A. V. <Joe...@al...> - 2024-09-19 08:50:51
|
Hi Aaron, Is it possible to communicate with the device only by using libusb library? In general, yes. But as far as I understand it, it would mean that you would have to reimplement the driver for the FTDI chip. So it probably would be easier to stick with the vendors original driver<https://ftdichip.com/drivers/d2xx-drivers/> and do the communication via the virtual COM port or to use libFTDI<https://www.intra2net.com/en/developer/libftdi/index.php> which already implements the FTDI functionality you are looking (and actually also builds on top of libusb). Kind regards, Jörn Von: Aaron Gomez | Rother Industries & Technology <aar...@ro...> Gesendet: Donnerstag, 19. September 2024 09:10 An: lib...@li... Betreff: [libusb] Help Hi, I have been looking at the libusb source code and I have seen that there are function to recognize the devices connect via USB and get a list of them, a function to open devices by vendor ID and product ID, a function to get the device descriptor and and many more. I would like to know if it is possible to obtain communication through the serial port using an FTDI device. I have been trying to open my device and perform data transfer but I have not been able to do so. The steps I have followed have been to initialize libusb, get the list of devices and get the device descriptor. I recognized my device by vendor ID and product ID. I reference the device, I open it and check the function libusb_kernel_driver_active and libusb_claim_interface but at this point I get an error. This error is LIBUSB_ERROR_PIPE. Also, I previously wrote udev rules with vendor ID and product ID of my device to resolve another error of permissions when open it. How to fix libusb_kernel_driver_active and libusb_claim_interface error? I need some idea because I couldn't find any information about it. Is it possible to communicate with the device only by using libusb library? Regards, -- Aarón Gómez Payán Dpto. I+D Tlf: + (34) 957 088 221 Rother Industries & Technology C/ Fausto García Tena Nº16-C 14014 - Córdoba (Pol.Quemadas) España / Spain https://www.rotherindustrial.es<https://www.rotherindustrial.es/> [cid:image001.png@01DB0A7D.03FA32C0] POR FAVOR: Antes de imprimir este mensaje, piense si REALMENTE lo necesita en papel. P Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de ROTHER INDUSTRIES & TECHNOLOGY, S.L. . Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. Le informamos que tratamos sus datos personales con la finalidad de realizar la gestión administrativa, contable y fiscal, así como enviarle comunicaciones comerciales sobre nuestros productos y/o servicios. Los datos proporcionados se conservarán mientras se mantenga la relación comercial o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a: ro...@ro...<mailto:ro...@ro...> Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente para obtener información adicional o presentar una reclamación. Si usted no desea recibir nuestra información, póngase en contacto con nosotros enviando un correo electrónico a la siguiente dirección: ro...@ro...<mailto:ro...@ro...> Datos identificativos: ROTHER INDUSTRIES & TECHNOLOGY, S.L. B-56001449. CALLE FAUSTO GARCÍA TENA, Nº 16C - C.P.14014. CÓRDOBA. E-MAIL: ro...@ro...<mailto:ro...@ro...> - 957 08 82 21 [cid:image002.png@01DB0A7D.03FA32C0][cid:image003.png@01DB0A7D.03FA32C0] |
|
From: Aaron G. | R. I. & T. <aar...@ro...> - 2024-09-19 07:10:37
|
Hi, I have been looking at the libusb source code and I have seen that there are function to recognize the devices connect via USB and get a list of them, a function to open devices by vendor ID and product ID, a function to get the device descriptor and and many more. I would like to know if it is possible to obtain communication through the serial port using an FTDI device. I have been trying to open my device and perform data transfer but I have not been able to do so. The steps I have followed have been to initialize libusb, get the list of devices and get the device descriptor. I recognized my device by vendor ID and product ID. I reference the device, I open it and check the function libusb_kernel_driver_active and libusb_claim_interface but at this point I get an error. This error is LIBUSB_ERROR_PIPE. Also, I previously wrote udev rules with vendor ID and product ID of my device to resolve another error of permissions when open it. How to fix libusb_kernel_driver_active and libusb_claim_interface error? I need some idea because I couldn't find any information about it. Is it possible to communicate with the device only by using libusb library? Regards, -- *Aarón Gómez Payán * *Dpto. I+D * Tlf: + (34) 957 088 221 Rother Industries & Technology C/ Fausto García Tena Nº16-C 14014 - Córdoba (Pol.Quemadas) España / Spain https://www.rotherindustrial.es *POR FAVOR:*Antes de imprimir este mensaje, piense si*REALMENTE*lo necesita en papel.*/P/* Este mensaje y sus archivos adjuntos van dirigidos exclusivamente a su destinatario, pudiendo contener información confidencial sometida a secreto profesional. No está permitida su reproducción o distribución sin la autorización expresa de ROTHER INDUSTRIES & TECHNOLOGY, S.L. . Si usted no es el destinatario final por favor elimínelo e infórmenos por esta vía. Le informamos que tratamos sus datos personales con la finalidad de realizar la gestión administrativa, contable y fiscal, así como enviarle comunicaciones comerciales sobre nuestros productos y/o servicios. Los datos proporcionados se conservarán mientras se mantenga la relación comercial o durante los años necesarios para cumplir con las obligaciones legales. Los datos no se cederán a terceros salvo en los casos en que exista una obligación legal. Asimismo, le informamos de la posibilidad de ejercer los siguientes derechos sobre sus datos personales: derecho de acceso, rectificación, supresión u olvido, limitación, oposición, portabilidad y a retirar el consentimiento prestado. Para ello podrá enviar un email a:ro...@ro... Además, el interesado puede dirigirse a la Autoridad de Control en materia de Protección de Datos competente para obtener información adicional o presentar una reclamación. Si usted no desea recibir nuestra información, póngase en contacto con nosotros enviando un correo electrónico a la siguiente dirección:ro...@ro... _Datos identificativos:__ _ROTHER INDUSTRIES & TECHNOLOGY, S.L. B-56001449. CALLE FAUSTO GARCÍA TENA, Nº 16C - C.P.14014. CÓRDOBA. E-MAIL:ro...@ro...- 957 08 82 21 ** |
|
From: Tim R. <ti...@pr...> - 2024-08-21 18:14:37
|
lfj...@16... wrote: > PC use the libusb-win32 drvier via Z, the PC program is use pyusb > python script : > > | > | > > |dev = usb.core.find(idVendor=ACCESSORY_VID) > ;dev.set_configuration();cfg = dev.get_active_configuration() | > > throw error when dev.setconfiguration is called: > > || > |File > "D:\ProgramFiles\Python\lib\site-packages\usb\backend\libusb1.py", > line 604, in _check raise USBError(_strerror(ret), ret, > _libusb_errno[ret]) ... File > "D:\ProgramFiles\Python\lib\site-packages\usb\backend\_**libusb1.py", > line 652, in __init__ _check(_lib.libusb_open(self.devid, > byref(self.handle)))**_ usb.core.USBError: [Errno 13] Access denied > (insufficient permissions)| Does this device already have a driver? -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: <lfj...@16...> - 2024-08-21 02:48:43
|
Hi ,
PC use the libusb-win32 drvier via Z, the PC program is use pyusb python script :
dev = usb.core.find(idVendor=ACCESSORY_VID) ;dev.set_configuration();cfg = dev.get_active_configuration()
throw error when dev.setconfiguration is called:
File "D:\ProgramFiles\Python\lib\site-packages\usb\backend\libusb1.py", line 604, in _check
raise USBError(_strerror(ret), ret, _libusb_errno[ret])
File "D:\ProgramFiles\Python\lib\site-packages\usb\core.py", line 915, in set_configuration
self._ctx.managed_set_configuration(self, configuration)
File "D:\ProgramFiles\Python\lib\site-packages\usb\core.py", line 113, in wrapper
return f(self, *args, **kwargs)
File "D:\ProgramFiles\Python\lib\site-packages\usb\core.py", line 158, in managed_set_configuration
self.managed_open()
File "D:\ProgramFiles\Python\lib\site-packages\usb\core.py", line 113, in wrapper
return f(self, *args, **kwargs)
File "D:\ProgramFiles\Python\lib\site-packages\usb\core.py", line 131, in managed_open
self.handle = self.backend.open_device(self.dev)
File "D:\ProgramFiles\Python\lib\site-packages\usb\backend\libusb1.py", line 804, in open_device
return _DeviceHandle(dev)
File "D:\ProgramFiles\Python\lib\site-packages\usb\backend\_**libusb1.py", line 652, in __init__
_check(_lib.libusb_open(self.devid, byref(self.handle)))**_
usb.core.USBError: [Errno 13] Access denied (insufficient permissions) |
|
From: <lfj...@16...> - 2024-08-21 01:52:11
|
Ignore this ,testing! |
|
From: Tim R. <ti...@pr...> - 2024-07-30 19:31:02
|
Fares MAHJOUB wrote: > > Thank you, Tim. I'm currently working on the QT Framework. I'm getting > familiar with it because it is a first for me. i will try, as you > mentioned, to plot a data buffer at first. When i will try to make the > the seprate "continuous reader" class can i send you a message ? Please keep the exchange on the mailing list so others may benefit. I'm not really trying to offer free consulting services. Qt is a big lift, but once you get it, you'll never be sorry. -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Tim R. <ti...@pr...> - 2024-07-30 02:26:20
|
On 7/29/24 3:39 PM, Fares MAHJOUB wrote: > First of all thank you Tim for responding. > Ok let me make my situation clear . I have an audio digital signal > coming from a microphone on the device. I'm streaming an FFT(Fast > Fourrier Transform) of this signal digital throught a Usb interface. > The interface uses 5 endpoints (4 input and one output) the > input/output is as you know from the host perspective. The usb device > driver uses a bulk transfer to stream the FFT data. From the device > side i'm ok but from the host side i want to receive the FFT data and > plot it (amplitude on the y axe and frequency on the x axe) using a QT > graphical user interface application. I just want at least to stream a > constant string "hello world" and then plot it on a graphical > interface. How can the libusb library > be helpful in receiving the data stream using bulk transfer and how > can it work along with the QT framework ? Don't worry too much about integrating. You really have two separate problems: getting a continuous data stream from the device, and displaying FFT data. I'd advise you to think about them separately. There are a LOT of sample Qt apps on the internet, including many that do different kind of graphing. So, make an application that can plot a data buffer in a way that shows you what you want to learn. Then, make a class that uses libusb to do a "continuous reader" to fetch the data. Again, there are examples of such apps on the internet. Once you have the two, it should be easy to hook them together. -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Fares M. <f.m...@sh...> - 2024-07-29 22:55:31
|
First of all thank you Tim for responding. Ok let me make my situation clear . I have an audio digital signal coming from a microphone on the device. I'm streaming an FFT(Fast Fourrier Transform) of this signal digital throught a Usb interface. The interface uses 5 endpoints (4 input and one output) the input/output is as you know from the host perspective. The usb device driver uses a bulk transfer to stream the FFT data. From the device side i'm ok but from the host side i want to receive the FFT data and plot it (amplitude on the y axe and frequency on the x axe) using a QT graphical user interface application. I just want at least to stream a constant string "hello world" and then plot it on a graphical interface. How can the libusb library be helpful in receiving the data stream using bulk transfer and how can it work along with the QT framework ? The device that i'm using is this one : https://www.st.com/en/evaluation-tools/steval-stwinkt1b.html The application that runs on the device is this one : https://github.com/STMicroelectronics/x-cube-memsmic1 I want to rebuild a new graphical user interface Using QT framework and i want to understand how can i integrate the libusb library with it. Sorry for my bad english. It would be kind of you if you help me with this project. Best regards Fares Mahjoub ________________________________ From: Tim Roberts <ti...@pr...> Sent: Monday, July 29, 2024 11:04:09 PM To: lib...@li... <lib...@li...> Subject: Re: [libusb] Integrating libusb library with a QT application EXTERNAL SENDER - This email originated from an external domain. Please take care when clicking links or opening attachments. Fares MAHJOUB wrote: I'm receiving a stream of data coming from that USB device configured as Windows Compatible ID device, This means that when i plug in the device to my Windows machine, my OS recognizes the device and installs WinUSB driver. For more information, you can read this article https://github.com/pbatard/libwdi/wiki/WCID-Devices#user-content-STM32. My problem is, how can I use your library to read a data stream coming from this device and then visualise this data stream on a QT graphical user application. If you guys have any resources or any advice for me on how to develop this type of application, I would appreciate it. None of us know what you mean by "visualize this data stream". Every USB device is different. There are already tools that can show you the USB traffic as packets, including Wireshark. What are you expecting beyond that? -- Tim Roberts, ti...@pr...<mailto:ti...@pr...> Providenza & Boekelheide, Inc. |
|
From: Tim R. <ti...@pr...> - 2024-07-29 22:04:24
|
Fares MAHJOUB wrote: > > I'm receiving a stream of data coming from that USB device configured > as Windows Compatible ID device, This means that when i plug in the > device to my Windows machine, my OS recognizes the device and installs > WinUSB driver. For more information, you can read this article > https://github.com/pbatard/libwdi/wiki/WCID-Devices#user-content-STM32 > <https://github.com/pbatard/libwdi/wiki/WCID-Devices#user-content-STM32>. > My problem is, how can I use your library to read a data stream coming > from this device and then visualise this data stream on a QT graphical > user application. If you guys have any resources or any advice for me > on how to develop this type of application, I would appreciate it. None of us know what you mean by "visualize this data stream". Every USB device is different. There are already tools that can show you the USB traffic as packets, including Wireshark. What are you expecting beyond that? -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Fares M. <f.m...@sh...> - 2024-07-29 10:27:39
|
Dear Developers of libusb library, first, I would like to thank you for the effort you put into providing this open-source library to communicate with USB devices. Let me tell now about the project that I'm currently working on: it is a graphical user interface that is developed using QT framework to visualise a data stream coming from a USB device. I'm receiving a stream of data coming from that USB device configured as Windows Compatible ID device, This means that when i plug in the device to my Windows machine, my OS recognizes the device and installs WinUSB driver. For more information, you can read this article https://github.com/pbatard/libwdi/wiki/WCID-Devices#user-content-STM32. My problem is, how can I use your library to read a data stream coming from this device and then visualise this data stream on a QT graphical user application. If you guys have any resources or any advice for me on how to develop this type of application, I would appreciate it. Best Regards Fares Mahjoub |
|
From: Tim R. <ti...@pr...> - 2024-07-29 06:01:09
|
On 7/27/24 2:25 PM, Mike Marchywka wrote: > I expect to use it a lot on devices without > a lot of documentation but initially I wnated to have or write a simple > program to let two devices talk to each other and monitor the exchange. No, it doesn't work that way. You can't communicate with a USB device unless you understand its communications INTIMATELY. Remember that a libusb application is basically a driver in user-mode. You need to understand USB itself, plus whatever protocols the device itself uses. > Basically I am hooking up an Android phone to an Arduino board and > forgot to get a female-to-female connector but now it seems like such a program > would be a good way to learn libusb. Not really. USB devices cannot communicate with each other unless they were specifically designed to do that. A USB device expects to talk to a USB host. -- Tim Roberts,ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Mike M. <mar...@ho...> - 2024-07-27 21:25:42
|
I just downloaded libusb and verfiied I could use it to list usb devices modifying an example. I expect to use it a lot on devices without a lot of documentation but initially I wnated to have or write a simple program to let two devices talk to each other and monitor the exchange. Basically I am hooking up an Android phone to an Arduino board and forgot to get a female-to-female connector but now it seems like such a program would be a good way to learn libusb. Any thoughts? Thanks. https://stackoverflow.com/questions/78802320/linux-utility-to-transparently-let-2-usb-devices-talk-to-each-other Mike Marchywka 44 Crosscreek Trail Jasper GA 30143 was 306 Charles Cox Drive Canton, GA 30115 470-758-0799 404-788-1216 |
|
From: Karl S. <0x...@gm...> - 2024-06-29 21:22:13
|
On Sat, Jun 29, 2024 at 17:01 Tim Roberts <ti...@pr...> wrote: > Dean Sands wrote: > > Tried a dumb thing. > > The device I'm getting from the hotplug arrival event isn't usable. > > I open a handle and make a few token attempts to claim the interface. > > When that fails I close the handle. > > Then I search for the device again and connect to that. > > Are you saying you got it to work? > > In general, as soon as you know a device is unusable, you should close > the handle. As long as your handle remains open, the kernel cannot > clean up the remnants of the previous instance, and that can cause > confusing problems and duplicate instances. I vaguely recall the problem of engaging a reconnected device without restarting the app may have been outstanding for years. If this is the problem and workaround, it would ideally be documented somewhere in such a way that more applications emerge supporting reconnection. I imagine it would help legacy applications a lot to add code that cleans things up enough to recreate a device the first time it becomes unusable. |
|
From: Tim R. <ti...@pr...> - 2024-06-29 20:59:15
|
Dean Sands wrote: > Tried a dumb thing. > The device I'm getting from the hotplug arrival event isn't usable. > I open a handle and make a few token attempts to claim the interface. > When that fails I close the handle. > Then I search for the device again and connect to that. Are you saying you got it to work? In general, as soon as you know a device is unusable, you should close the handle. As long as your handle remains open, the kernel cannot clean up the remnants of the previous instance, and that can cause confusing problems and duplicate instances. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Dean S. <dea...@gm...> - 2024-06-28 17:45:11
|
Tried a dumb thing. The device I'm getting from the hotplug arrival event isn't usable. I open a handle and make a few token attempts to claim the interface. When that fails I close the handle. Then I search for the device again and connect to that. *Best Regards,* *Dean Sands | Software Engineer * Email: dea...@gm... | Cell: 832 692 7411 On Fri, Jun 28, 2024 at 8:05 AM Dean Sands <dea...@gm...> wrote: > Host: aarch64 Linux 5.10.198 > libUSB: v1.0.24.11584 > Client: CDC device with bulk endpoints > > Hi, libUSB, > My goal is to connect to a device, then unplug it by hand after some time, > then be able to reconnect it after I plug it back in. > And it almost works. > The hotplug callbacks are working fine, and I'm able to open the device > and get a handle. > However, the "new" device returns LIBUSB_ERROR_INVALID_PARAM when I try > to do anything with the interface. > Can I claim the interface? Invalid Param. > Is the Kernel Driver attached? Invalid Param. > Can I detach it anyway? Invalid Param. > OK, maybe I need to set the configuration. LIBUSB_ERROR_BUSY. That's not > good. > Stopping the program and restarting works but that's not what I need. > How do I reconnect? > > > *Best Regards,* > *Dean Sands* > |
|
From: Dean S. <dea...@gm...> - 2024-06-28 13:05:35
|
Host: aarch64 Linux 5.10.198 libUSB: v1.0.24.11584 Client: CDC device with bulk endpoints Hi, libUSB, My goal is to connect to a device, then unplug it by hand after some time, then be able to reconnect it after I plug it back in. And it almost works. The hotplug callbacks are working fine, and I'm able to open the device and get a handle. However, the "new" device returns LIBUSB_ERROR_INVALID_PARAM when I try to do anything with the interface. Can I claim the interface? Invalid Param. Is the Kernel Driver attached? Invalid Param. Can I detach it anyway? Invalid Param. OK, maybe I need to set the configuration. LIBUSB_ERROR_BUSY. That's not good. Stopping the program and restarting works but that's not what I need. How do I reconnect? *Best Regards,* *Dean Sands* |
|
From: Raymond B. <ray...@gm...> - 2024-06-28 01:49:31
|
On Mon, Jun 24, 2024 at 10:56 PM Tim Roberts <ti...@pr...> wrote: > On 6/24/24 1:45 PM, Raymond Bian wrote: > > > Hello, I am trying to use libusb and libusb-win32 (1.4.0.0) to create > > a network tether between a windows and iDevice. In order to enable > > this, the iDevice USB configuration needs to be set to configuration 5 > > (1-indexed). However, I was not able to properly set any configuration > > on this device other than configuration 0 and configuration 1, the > > default. > > Multi-configuration devices are problematic even under the best of > conditions in Windows. Most manufacturers avoid them because of this. > It's true that WinUSB doesn't directly support them. Have you tried > superstitiously closing the device and reopening it? > > -- > > Tim Roberts, ti...@pr... > Providenza & Boekelheide, Inc. > I was able to successfully set the configuration for the device after installing the libusb-win32 driver for the entire composite device, using the libusb-win32 api directly. It seems there may have been some mixup on which backend was chosen. |
|
From: Tim R. <ti...@pr...> - 2024-06-25 05:54:12
|
On 6/24/24 1:45 PM, Raymond Bian wrote: > Hello, I am trying to use libusb and libusb-win32 (1.4.0.0) to create > a network tether between a windows and iDevice. In order to enable > this, the iDevice USB configuration needs to be set to configuration 5 > (1-indexed). However, I was not able to properly set any configuration > on this device other than configuration 0 and configuration 1, the > default. Multi-configuration devices are problematic even under the best of conditions in Windows. Most manufacturers avoid them because of this. It's true that WinUSB doesn't directly support them. Have you tried superstitiously closing the device and reopening it? -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |
|
From: Raymond B. <ray...@gm...> - 2024-06-24 20:45:39
|
Hello, I am trying to use libusb and libusb-win32 (1.4.0.0) to create a network tether between a windows and iDevice. In order to enable this, the iDevice USB configuration needs to be set to configuration 5 (1-indexed). However, I was not able to properly set any configuration on this device other than configuration 0 and configuration 1, the default. These are the related log entries when trying to set the configuration. I have also created a github issue as I was unsure where to get help. ``` [ 0.141778] [0000236c] libusb: debug [libusb_set_configuration] configuration 4 [ 0.141805] [0000236c] libusb: debug [libusb_submit_transfer] transfer 000001DCF14DB5A0 [ 0.141831] [0000236c] libusb: debug [add_to_flying_list] arm timer for timeout in 1000ms (first in line) [ 0.141863] [0000236c] libusb: debug [composite_submit_control_transfer] using interface 0 [ 0.141889] [0000236c] libusb: debug [libusb_claim_interface] interface 0 [ 0.141929] [0000236c] libusb: debug [winusbx_claim_interface] claimed interface 0 [ 0.141954] [0000236c] libusb: debug [windows_assign_endpoints] (re)assigned endpoint 02 to interface 0 [ 0.141982] [0000236c] libusb: debug [windows_assign_endpoints] (re)assigned endpoint 81 to interface 0 [ 0.142007] [0000236c] libusb: debug [windows_assign_endpoints] (re)assigned endpoint 83 to interface 0 [ 0.142033] [0000236c] libusb: debug [auto_claim] auto-claimed interface 0 for control request [ 0.142059] [0000236c] libusb: debug [winusbx_submit_control_transfer] will use interface 0 [ 0.142037] [000044a8] libusb: debug [windows_iocp_thread] ignoring overlapped 00000001000FCCA0 for handle 000001DCF2F76CF0 [ 0.142122] [000044a8] libusb: debug [windows_iocp_thread] ignoring overlapped 00000001000FCCA0 for handle 000001DCF2F76CF0 [ 0.142155] [000044a8] libusb: debug [windows_iocp_thread] ignoring overlapped 00000001000FCCA0 for handle 000001DCF2F76CF0 [ 0.142187] [000044a8] libusb: debug [windows_iocp_thread] ignoring overlapped 00000001000FCCA0 for handle 000001DCF2F76CF0 [ 0.142316] [0000236c] libusb: warning [winusbx_submit_control_transfer] ControlTransfer failed: [87] The parameter is incorrect. [ 0.142352] [0000236c] libusb: debug [libusb_release_interface] interface 0 [ 0.142380] [0000236c] libusb: debug [auto_release] auto-released interface 0 [ 0.142404] [0000236c] libusb: debug [arm_timer_for_next_timeout] no timeouts, disarming timer [ 0.142430] [0000236c] libusb: debug [libusb_free_transfer] transfer 000001DCF14DB5A0 ``` Unfortunately, neither WinUSB nor libusbK seem to have the functionality for me to set an alternate configuration, so I am unable to test if it is an issue with the driver itself. |