Skip to content

Serial on FreeBSD (/dev/ttyU0) #796

@paigeadelethompson

Description

@paigeadelethompson

Hey,
I decided to give this a shot on FreeBSD, it almost seems like it wants to work:

ugen0.3: <Espressif Systems BQ Station G2> at usbus0 (disconnected)
umodem0: at uhub0, port 2, addr 6 (disconnected)
umodem0: detached
ugen0.3: <Espressif Systems BQ Station G2> at usbus0
umodem0 on uhub0
umodem0: <Espressif Systems BQ Station G2, class 239/2, rev 2.00/1.00, addr 7> on usbus0
umodem0: data interface 1, has no CM over data, has no break

though it doesn't do anything:

➜  sq meshtastic --debug --port /dev/ttyU0
DEBUG file:__main__.py common line:1272 Not logging serial output
DEBUG file:serial_interface.py __init__ line:47 Connecting to /dev/ttyU0

So I started looking at the code for it and noticed the termios / tcsetattr and it dawned on me that it probably has something to do with that because I've had to use different termios settings for FreeBSD before. I noticed there's some tcsetattr stuff here for Windows specifically:

https://github.com/meshtastic/python/blob/master/meshtastic/serial_interface.py#L51

from the pyserial project:

The module named "serial" automatically selects the appropriate backend.

yeah evidently not if you're having to use tcsetattr :) but yeah I'm at a loss for what backend it might be trying to use:

self.stream = serial.Serial(
            self.devPath, 115200, exclusive=True, timeout=0.5, write_timeout=0
        )

since we don't really get anymore log messages after

        logging.debug(f"Connecting to {self.devPath}")

I'll take a look at this a bit later but just in case I forget, here's a ticket

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions