Message ID | 20240606183032.684481-1-andreas@kemnade.info |
---|---|
Headers | show |
Series | Bluetooth/gnss: GNSS support for TiWi chips | expand |
On Thu, Jun 6, 2024 at 3:19 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > Hi Luiz, > > On Thu, 6 Jun 2024 16:04:10 -0400 > Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > > Hi Andreas, > > > > On Thu, Jun 6, 2024 at 2:30 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > Some of these chips have GNSS support. In some vendor kernels > > > a driver on top of misc/ti-st can be found providing a /dev/tigps > > > device which speaks the secretive Air Independent Interface (AI2) protocol. I think you may have sent me a file to test, but I can't find the e-mail. Can you tell me what tool you used to test it? I can get gnss0 to enumerate, so I am close. [ 20.759857] hci-ti serial0-0: using DT '/ocp@68000000/serial@4806c000/bluetooth-gnss' for 'enable' GPIO lookup [ 20.770263] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/ocp@68000000/serial@4806c000/bluetooth-gnss[0]' - status (0) [ 29.221588] gnss: GNSS driver registered with major 244 adam > > > > > > To be more compatible with userspace send out NMEA by default but > > > allow a more raw mode by using a module parameter. > > > > > > This was tested on the Epson Moverio BT-200. > > > > > > Who will take this series (1-3)? GNSS with ack from Bluetooth? > > > > > > Changes since V3: > > > - Finally remove the period from 1/4 subject > > > - include things directly for get_unaligned_le16() to fix 0-day issues > > > > > > Changes since V2: > > > - Optimize waits > > > - Fix some packet analysis / checksum computation issue > > > - Adding a proposal for removing those waits as RFC > > > - Minor spell corrections and improved descriptions > > > > > > Changes since V1: > > > - Set up things for NMEA output > > > - Powerup/down at open()/close() > > > - split out logic between drivers/bluetooth and drivers/gnss > > > - leave out drivers/misc/ti-st driver removal to avoid > > > filling up mailboxes during the iterations, this series is > > > still a proof that it is not needed, will take the brush after > > > this series is accepted. > > > > > > > > > Andreas Kemnade (4): > > > gnss: Add AI2 protocol used by some TI combo chips > > > Bluetooth: ti-st: Add GNSS subdevice for TI Wilink chips > > > > The bluetooth one looks relatively simple so I could take that one and > > push to bluetooth-next if there are no dependencies on the other > > changes. > > > There is: > > include/linux/ti_wilink_st.h | 8 + > > We have compile time deps here. Patch 3 compile time depends on patch 2. If we > cannot take everything in for 6.11, you might opt to take the bluetooth part. > That would work. > > Regards, > Andreas
Hi Adam, On Sat, 8 Jun 2024 14:00:38 -0500 Adam Ford <aford173@gmail.com> wrote: > On Thu, Jun 6, 2024 at 3:19 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > Hi Luiz, > > > > On Thu, 6 Jun 2024 16:04:10 -0400 > > Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > > > > Hi Andreas, > > > > > > On Thu, Jun 6, 2024 at 2:30 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > > > Some of these chips have GNSS support. In some vendor kernels > > > > a driver on top of misc/ti-st can be found providing a /dev/tigps > > > > device which speaks the secretive Air Independent Interface (AI2) protocol. > > I think you may have sent me a file to test, but I can't find the > e-mail. Can you tell me what tool you used to test it? I can get > gnss0 to enumerate, so I am close. > hmm, /bin/cat is sufficient. It should spit out nmea now by default. For playing around with raw mode, you need the ai2raw parameter and then you can play around with read-gps from https://github.com/akemnade/bt200tools > [ 20.759857] hci-ti serial0-0: using DT > '/ocp@68000000/serial@4806c000/bluetooth-gnss' for 'enable' GPIO > lookup > [ 20.770263] of_get_named_gpiod_flags: parsed 'enable-gpios' > property of node '/ocp@68000000/serial@4806c000/bluetooth-gnss[0]' - > status (0) > [ 29.221588] gnss: GNSS driver registered with major 244 > That is nice. Regards, Andreas
On Sat, Jun 8, 2024 at 2:20 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > Hi Adam, > > On Sat, 8 Jun 2024 14:00:38 -0500 > Adam Ford <aford173@gmail.com> wrote: > > > On Thu, Jun 6, 2024 at 3:19 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > Hi Luiz, > > > > > > On Thu, 6 Jun 2024 16:04:10 -0400 > > > Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > > > > > > Hi Andreas, > > > > > > > > On Thu, Jun 6, 2024 at 2:30 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > > > > > Some of these chips have GNSS support. In some vendor kernels > > > > > a driver on top of misc/ti-st can be found providing a /dev/tigps > > > > > device which speaks the secretive Air Independent Interface (AI2) protocol. > > > > I think you may have sent me a file to test, but I can't find the > > e-mail. Can you tell me what tool you used to test it? I can get > > gnss0 to enumerate, so I am close. > > > hmm, /bin/cat is sufficient. It should spit out nmea now by default. > > For playing around with raw mode, you need the ai2raw parameter > and then you can play around with read-gps from > https://github.com/akemnade/bt200tools > > > [ 20.759857] hci-ti serial0-0: using DT > > '/ocp@68000000/serial@4806c000/bluetooth-gnss' for 'enable' GPIO > > lookup > > [ 20.770263] of_get_named_gpiod_flags: parsed 'enable-gpios' > > property of node '/ocp@68000000/serial@4806c000/bluetooth-gnss[0]' - > > status (0) > > [ 29.221588] gnss: GNSS driver registered with major 244 > > > That is nice. I think I am stuck. The closed-sourced GPS binary that Logic PD did was done a 3rd party which has since been sold, and Logic PD never had the source code, I just get junk with this driver: $GPGLL,,,,,,V,N*64 $GPRMC,,V,,,,,,,,,,N*53 $GPGGA,,,,,,0,,,,,,,,*66 $GPVTG,,T,,M,,N,,K,N*2C $GPGSA,M,1,,,,,,,,,,,,,,,*12 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPRMC,,V,,,,,,,,,,N*53 $GPGGA,,,,,,0,,,,,,,,*66 $GPVTG,,T,,M,,N,,K,N*2C $GPGSA,M,1,,,,,,,,,,,,,,,*12 $GPGSV,1,1,00*79 $GPGLL,,,,,,V,N*64 $GPRMC,,V,,,,,,,,,,N*53 $GPGGA,,,,,,0,,,,,,,,*66 $GPVTG,,T,,M,,N,,K,N*2C $GPGSA,M,1,,,,,,,,,,,,,,,*12 $GPGSV,1,1,00*79 I am not 100% positive, but I think the antenna might be required to be powered. I'll talk with the HW engineer who designed the Torpedo + Wireless SOM and see if he remembers anyhthing about the GPS. I know for a fact that Logic PD doesn't have the source code for their GPS demo, and I know it doesn't work with modern kernels, so i can't compare the performance. :-( adam > > Regards, > Andreas
Hi Adam, On Mon, 10 Jun 2024 18:17:05 -0500 Adam Ford <aford173@gmail.com> wrote: > On Sat, Jun 8, 2024 at 2:20 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > Hi Adam, > > > > On Sat, 8 Jun 2024 14:00:38 -0500 > > Adam Ford <aford173@gmail.com> wrote: > > > > > On Thu, Jun 6, 2024 at 3:19 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > > > Hi Luiz, > > > > > > > > On Thu, 6 Jun 2024 16:04:10 -0400 > > > > Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > > > > > > > > Hi Andreas, > > > > > > > > > > On Thu, Jun 6, 2024 at 2:30 PM Andreas Kemnade <andreas@kemnade.info> wrote: > > > > > > > > > > > > Some of these chips have GNSS support. In some vendor kernels > > > > > > a driver on top of misc/ti-st can be found providing a /dev/tigps > > > > > > device which speaks the secretive Air Independent Interface (AI2) protocol. > > > > > > I think you may have sent me a file to test, but I can't find the > > > e-mail. Can you tell me what tool you used to test it? I can get > > > gnss0 to enumerate, so I am close. > > > > > hmm, /bin/cat is sufficient. It should spit out nmea now by default. > > > > For playing around with raw mode, you need the ai2raw parameter > > and then you can play around with read-gps from > > https://github.com/akemnade/bt200tools > > > > > [ 20.759857] hci-ti serial0-0: using DT > > > '/ocp@68000000/serial@4806c000/bluetooth-gnss' for 'enable' GPIO > > > lookup > > > [ 20.770263] of_get_named_gpiod_flags: parsed 'enable-gpios' > > > property of node '/ocp@68000000/serial@4806c000/bluetooth-gnss[0]' - > > > status (0) > > > [ 29.221588] gnss: GNSS driver registered with major 244 > > > > > That is nice. > > I think I am stuck. The closed-sourced GPS binary that Logic PD did > was done a 3rd party which has since been sold, and Logic PD never had > the source code, I just get junk with this driver: > Well, the whole thing is kept in secrecy. But the junk you get is just plain NMEA which I get also when device is indoors, so you got the chip into a mode which common user space (like gpsd) understands. So IMHO that is a Tested-By. So thanks a lot. I am happy with that result for the first step. So first rpc was tested with a Motorola tablet and the BT200, this one now with two different devices, so it is a good situation. > $GPGLL,,,,,,V,N*64 > $GPRMC,,V,,,,,,,,,,N*53 > $GPGGA,,,,,,0,,,,,,,,*66 > $GPVTG,,T,,M,,N,,K,N*2C > $GPGSA,M,1,,,,,,,,,,,,,,,*12 > $GPGSV,1,1,00*79 > $GPGLL,,,,,,V,N*64 > $GPRMC,,V,,,,,,,,,,N*53 > $GPGGA,,,,,,0,,,,,,,,*66 > $GPVTG,,T,,M,,N,,K,N*2C > $GPGSA,M,1,,,,,,,,,,,,,,,*12 > $GPGSV,1,1,00*79 > $GPGLL,,,,,,V,N*64 > $GPRMC,,V,,,,,,,,,,N*53 > $GPGGA,,,,,,0,,,,,,,,*66 > $GPVTG,,T,,M,,N,,K,N*2C > $GPGSA,M,1,,,,,,,,,,,,,,,*12 > $GPGSV,1,1,00*79 > A note: contrary to other GPS I have seen, this one does not give out satellite reception strength if not much is known about position. So this pattern might continue a bit even if antenna is there and gps reception is good. Much development of this driver was done in a hammock with keyboard in a sleeping bag outside so I know a bit... > I am not 100% positive, but I think the antenna might be required to > be powered. I'll talk with the HW engineer who designed the Torpedo + > Wireless SOM and see if he remembers anyhthing about the GPS. I know > for a fact that Logic PD doesn't have the source code for their GPS > demo, and I know it doesn't work with modern kernels, so i can't > compare the performance. > Well, and demo tools are not easily available anywhere... Well, I think if there is some special antenna powering stuff, that can be done in a second step. Probably just a gpio or something. But that would affect both the testing tools and the in-kernel solution. As said, you might use the ai2raw=1 parameter and try the read_gps from bt200tools. Or the demo might work if you symlink gnss0 to tigps. > :-( Well, no, correct is :-) Regards, Andreas