lkml.org 
[lkml]   [2021]   [Dec]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC PATCH] gnss: usb: add support for U-Blox NEO-M9N
Date
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@gmail.com>
Cc: Johan Hovold <johan@kernel.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?

Peter

drivers/gnss/usb.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gnss/usb.c b/drivers/gnss/usb.c
index 792235a688ea..775d58c2dbe1 100644
--- a/drivers/gnss/usb.c
+++ b/drivers/gnss/usb.c
@@ -18,6 +18,7 @@

static const struct usb_device_id gnss_usb_id_table[] = {
{ USB_DEVICE(0x1199, 0xb000) }, /* Sierra Wireless XM1210 */
+ { USB_DEVICE(0x1546, 0x01a9) }, /* U-Blox NEO-M9N GNSS receiver */
{ }
};
MODULE_DEVICE_TABLE(usb, gnss_usb_id_table);
--
2.33.1
\
 
 \ /
  Last update: 2021-12-27 02:25    [W:0.029 / U:2.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site