Is ddb(4) over a USB-to-Serial port possible?

Julian Elischer julian at freebsd.org
Wed Nov 22 07:40:17 UTC 2017


On 22/11/17 3:08 pm, Farhan Khan wrote:
> Hi all
>
> I am reading here in section "10.5, On-Line Kernel Debugging User 
> Remote GDB" that you can run ddb(4) over a serial cable. I am 
> interested in setting this up.
>
> My development box does not have a serial port (however, I do see a 
> uart0 device in the kernel messages), so I attached a USB serial 
> port attached to a machine with a serial port. The device uses the 
> uslcom(4) driver and is listed as "Silicon Labs CP2102 USB to UART 
> Bridge Controller". When I enter ddb and enter "gdb" I receive the 
> error "The remote GDB backend could not be selected."
>
> The hint.uart.0.port in /boot/device.hints is still set to 0x3F8, 
> which corresponds to the aforementioned kernel messages. I am not 
> certain if this is the same port as the USB-based serial port. Does 
> this feature work over USB?
>
> Thanks,
> Farhan Khan
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to 
> "freebsd-hackers-unsubscribe at freebsd.org"
>
generally speaking the answer is no, unless the device is emulated 
using SMI or some other mechanism that is independent of FreeBSD.

uart0 is not the device on the USB but a hardware device at 3F8, 
regardless of whether it actually exists. Since the USB stack is not 
really functional when in the debugger, it can not be used to 
communicate with the debugger.

I find a better answer is to fire up the test machine under bhyve, in 
which case its console is accessible through any stream session. (e.g. 
ssh)..









More information about the freebsd-hackers mailing list