Re: [RFC PATCH] gnss: usb: add support for U-Blox NEO-M9N

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
> Cc: Johan Hovold <johan@xxxxxxxxxx>
> ---
> 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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux