Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 2017 15:40:00 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        Farhan Khan <khanzf@gmail.com>, freebsd-hackers@freebsd.org
Subject:   Re: Is ddb(4) over a USB-to-Serial port possible?
Message-ID:  <36165883-5cb7-aabc-c81e-cb5458029803@freebsd.org>
In-Reply-To: <11ce9826-f768-3ea0-547d-2d182d1552f0@gmail.com>
References:  <11ce9826-f768-3ea0-547d-2d182d1552f0@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to 
> "freebsd-hackers-unsubscribe@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)..










Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36165883-5cb7-aabc-c81e-cb5458029803>