lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Yfe2+KM3c3Vo7y9L@hovoldconsulting.com>
Date:   Mon, 31 Jan 2022 11:16:24 +0100
From:   Johan Hovold <johan@...nel.org>
To:     Peter Robinson <pbrobinson@...il.com>
Cc:     linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] gnss: usb: add support for U-Blox NEO-M9N

Hi Peter,

and sorry about the late reply.

On Mon, Dec 27, 2021 at 01:23:57AM +0000, Peter Robinson wrote:
> Add support for the USB interface of the SparkFun NEO-M9N
> GPS Breakout receiver.
> 
> Bus 001 Device 005: ID 1546:01a9 U-Blox AG u-blox GNSS receiver
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               1.10
>   bDeviceClass            2 Communications
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0        64
>   idVendor           0x1546 U-Blox AG
>   idProduct          0x01a9
>   bcdDevice            4.04
>   iManufacturer           1 u-blox AG - www.u-blox.com
>   iProduct                2 u-blox GNSS receiver
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength       0x003e
>     bNumInterfaces          2
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0xc0
>       Self Powered
>     MaxPower                0mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         2 Communications
>       bInterfaceSubClass      2 Abstract (modem)
>       bInterfaceProtocol      1 AT-commands (v.25ter)
>       iInterface              0
>       CDC Header:
>         bcdCDC               1.10
>       CDC ACM:
>         bmCapabilities       0x02
>           line coding and serial state
>       CDC Call Management:
>         bmCapabilities       0x03
>           call management
>           use DataInterface
>         bDataInterface          1
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x83  EP 3 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0040  1x 64 bytes
>         bInterval             255
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        1
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass        10 CDC Data
>       bInterfaceSubClass      0
>       bInterfaceProtocol    255 Vendor specific
>       iInterface              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x01  EP 1 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
> Device Status:     0x0001
>   Self Powered
> 
> Signed-off-by: Peter Robinson <pbrobinson@...il.com>
> Cc: Johan Hovold <johan@...nel.org>
> ---
> Hi Johan,
> 
> I've tested your GNSS USB series with a pair of U-Blox devices, adding
> the above USB ID. Only one included here for feedback to guage your thoughts.
> By defauly The U-Blox devices enumerate with the CDC ACM driver and output
> NMEA data via /dev/ttyACM0. With this patch and cdc_acm blocked I get
> /dev/gnss0 and can cat it to get NMEA data. Is your expectation to move
> these sort of devices over to the usb gnss driver too?

Thanks for testing.

I also used u-blox receiver when developing the USB support, but
enabling support for these devices properly would require adding a few
more missing bits, including blacklisting the corresponding ids in
cdc-acm.

I think I'll look into doing this, but I'm currently quite short on
time.

I'll keep you posted.

Johan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ