pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
comms/py-serial in NetBSD vs Linux differences
Hello,
I am trying to make nanovnasaver work under NetBSD. NanoVNA is a cheap
Vector Network Analyzer (30$) that connects to the USB port.
Nanovnasaver is a python program that manages the device and make very
useful RF S-parameters measurements, graphing and data saving. The code
is at Github here:
https://github.com/NanoVNA-Saver
Device detection fails in NetBSD, in Linux it works just fine.
Device detection and communication relies on py-serial python module.
Under Linux, device is /dev/ttyAMC0, in NetBSD device is /dev/ttyU0 and
/dev/dtyU0. I have given permission to the device and can perfectly be
accesed with the cu program:
netbsd-x260$ cu -l /dev/ttyU0
Connected
ChibiOS/RT Shell
ch> help
Commands: help exit info threads version reset freq offset time dac
saveconfig clearconfig data dump frequencies port stat gain power sample
scan sweep test touchcal touchtest pause resume cal save recall trace
marker edelay capture vbat transform threshold
ch> info
Kernel: 4.0.0
Compiler: GCC 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Architecture: ARMv6-M
Core Variant: Cortex-M0
Port Info: Preemption through NMI
Platform: STM32F072xB Entry Level Medium Density devices
Board: NanoVNA-H
Build time: Oct 18 2019 - 16:10:54
ch> ~
[EOT]
netbsd-x260$
Nanovnaserver uses py-serial python module, but in NetBSD nanovnasaver
program is confused with its output, it is not the same as in Linux.
LINUX detects this ports:
ramiro@debian-x260:~$ pyserial-ports -v
/dev/ttyACM0
desc: ChibiOS/RT Virtual COM Port
hwid: USB VID:PID=0483:5740 SER=400 LOCATION=1-1:1.0
/dev/ttyS0
desc: n/a
hwid: n/a
2 ports found
ramiro@debian-x260:~$
On the other hand, py-serial detects 121 of devices but no useful
information on /dev/ttyU0 and /dev/dtyU0
NETBSD:
netbsd-x260$ pyserial-ports-3.12
/dev/dty00
/dev/dty01
/dev/dty02
/dev/dty03
/dev/dtyCY000
...
...
/dev/dtyCZ0000
...
...
/dev/dtyCZ0063
/dev/dtyHS0.00
...
...
/dev/dtyHS0.10
/dev/dtyU0
/dev/dtyU1
/dev/dtyU2
/dev/dtyU3
/dev/dtyU4
/dev/dtyU5
/dev/dtyU6
/dev/dtyU7
/dev/dtyY0
/dev/dtyY1
121 ports found
netbsd-x260$
If more detail is requested:
netbsd-x260# pyserial-ports-3.12 -v
/dev/dty00
desc: n/a
hwid: n/a
..
..
/dev/dtyU0
desc: n/a
hwid: n/a
/dev/dtyU1
desc: n/a
hwid: n/a
/dev/dtyU2
desc: n/a
hwid: n/a
/dev/dtyU3
desc: n/a
hwid: n/a
/dev/dtyU4
desc: n/a
hwid: n/a
/dev/dtyU5
desc: n/a
hwid: n/a
/dev/dtyU6
desc: n/a
hwid: n/a
/dev/dtyU7
desc: n/a
hwid: n/a
/dev/dtyY0
desc: n/a
hwid: n/a
/dev/dtyY1
desc: n/a
hwid: n/a
121 ports found
netbsd-x260#
If I run this simple python program that scan the ports:
netbsd-x260$ cat prueba.py
import serial
from serial.tools import list_ports
from serial.tools.list_ports_common import ListPortInfo
for d in list_ports.comports(include_links=True):
print('device',d.device)
print('name',d.name)
print('description',d.description)
print('hwid',d.hwid)
print('vid',d.vid)
print('pid',d.pid)
print('serial_number',d.serial_number)
print('location',d.location)
print('manufacturer',d.manufacturer)
print('product',d.product)
print('interface',d.interface)
LINUX:
device /dev/ttyACM0
name ttyACM0
description ChibiOS/RT Virtual COM Port
hwid USB VID:PID=0483:5740 SER=400 LOCATION=1-1.2:1.0
vid 1155
pid 22336
serial_number 400
location 1-1.2:1.0
manufacturer STMicroelectronics
product ChibiOS/RT Virtual COM Port
interface None
NETBSD outputs 121 devices but I print below the device of interest
There is no information about the description, hwid, vendor, product and
serial number:
device /dev/dtyU0
name dtyU0
description n/a
hwid n/a
vid None
pid None
serial_number None
location None
manufacturer None
prpy313-libusb1oduct None
interface None
Have you noticed this behaviour in py-serial under NetBSD or am I
missing something?
Thanks.
Ramiro.
Home |
Main Index |
Thread Index |
Old Index