Re: USB logic analyzer problem

From: Milan Obuch <freebsd-usb_at_dino.sk>
Date: Wed, 21 Dec 2022 11:07:07 UTC
On Wed, 21 Dec 2022 11:49:33 +0100
Tomek CEDRO <tomek@cedro.info> wrote:

> On Wed, Dec 21, 2022 at 11:29 AM Tomek CEDRO wrote:
> > 1. # vim /etc/devfs.rules:
> >  [localrules=10]
> >         add path 'ugen*' mode 0660 group operator
> >         add path 'usb/*'  mode 0660 group operator
> >         add path 'usb' mode 0770 group operator
> >
> > 2.  # vim /etc/rc.conf:
> >         devfs_system_ruleset="localrules"
> >
> > 3. # pw groupmod operator -m <your_user_name_to_use_usb>
> >
> > 4. # service devfs restart
> >
> > 5. logout and login your local user to see if access right are
> > correct now.  
> 
> With the above you should have (as my example Saleae logical
> analyzer):
> 
> # ls -al /dev/ugen0.11
> lrw-rw----  1 root  operator  10 21 gru 11:40 /dev/ugen0.11 ->
> usb/0.11.0
> 
> # usbconfig -d 0.11 dump_all_desc
> ugen0.11: <sigrok fx2lafw> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps)
> pwr=ON (100mA)
> 
>   bLength = 0x0012
>   bDescriptorType = 0x0001
>   bcdUSB = 0x0200
>   bDeviceClass = 0x00ff  <Vendor specific>
>   bDeviceSubClass = 0x00ff
>   bDeviceProtocol = 0x00ff
>   bMaxPacketSize0 = 0x0040
>   idVendor = 0x0925
>   idProduct = 0x3881
>   bcdDevice = 0x0001
>   iManufacturer = 0x0001  <sigrok>
>   iProduct = 0x0002  <fx2lafw>
>   iSerialNumber = 0x0003  <Saleae Logic>
>   bNumConfigurations = 0x0001
> 
>  Configuration index 0
> 
>     bLength = 0x0009
>     bDescriptorType = 0x0002
>     wTotalLength = 0x0019
>     bNumInterfaces = 0x0001
>     bConfigurationValue = 0x0001
>     iConfiguration = 0x0000  <no string>
>     bmAttributes = 0x0080
>     bMaxPower = 0x0032
> 
>     Interface 0
>       bLength = 0x0009
>       bDescriptorType = 0x0004
>       bInterfaceNumber = 0x0000
>       bAlternateSetting = 0x0000
>       bNumEndpoints = 0x0001
>       bInterfaceClass = 0x00ff  <Vendor specific>
>       bInterfaceSubClass = 0x00ff
>       bInterfaceProtocol = 0x00ff
>       iInterface = 0x0000  <no string>
> 
>      Endpoint 0
>         bLength = 0x0007
>         bDescriptorType = 0x0005
>         bEndpointAddress = 0x0082  <IN>
>         bmAttributes = 0x0002  <BULK>
>         wMaxPacketSize = 0x0200
>         bInterval = 0x0000
>         bRefresh = 0x0000
>         bSynchAddress = 0x0000

I have exactly the same output, just one difference - 'wMaxPacketSize =
0x0040'. Everything else matches. Maybe you have the same device (or a
clone, Saleae analyzer looks like being cloned a lot).

> PulseView works out of the box, I do not even have to provide any
> device hints / parameters.
> 
> SigRokCli:
> 
> % sigrok-cli --scan
> The following devices were found:
> demo - Demo device with 13 channels: D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2
> A3 A4 fx2lafw:conn=0.11 - Saleae Logic [S/N: Saleae Logic] with 8
> channels: D0 D1 D2 D3 D4 D5 D6 D7
> 
> % sigrok-cli -d fx2lafw:conn=0.11 --continuous
> libsigrok 0.5.2
> Acquisition with 8/8 channels at 20 kHz
> D0:11111111 11111111 11111111 11111111 11111111 11111111 11111111
> 11111111 D1:00000000 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 D2:00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 00000000 D3:11111111 11111111 11111111 11111111
> 11111111 11111111 11111111 11111111 D4:00000000 00000000 00000000
> 00000000 00000000 00000000 00000000 00000000 D5:11111111 11111111
> 11111111 11111111 11111111 11111111 11111111 11111111
> 
> https://sigrok.org/wiki/Sigrok-cli
> 

Thanks for hints, I'll try again and report here later.

Regards,
Milan