Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 2017 09:33:22 +0100
From:      Hans Petter Selasky <hps@selasky.org>
To:        Julian Elischer <julian@freebsd.org>, Farhan Khan <khanzf@gmail.com>, freebsd-hackers@freebsd.org
Subject:   Re: Is ddb(4) over a USB-to-Serial port possible?
Message-ID:  <5c6da274-102c-33c6-50f0-20597cf8e7ef@selasky.org>
In-Reply-To: <36165883-5cb7-aabc-c81e-cb5458029803@freebsd.org>
References:  <11ce9826-f768-3ea0-547d-2d182d1552f0@gmail.com> <36165883-5cb7-aabc-c81e-cb5458029803@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 11/22/17 08:40, Julian Elischer wrote:
> 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)..
> 

Hi,

There is another setting for this:

Try setting cons_baud and cons_unit below. USB serial supports polling 
from the debugger after panic.

hw.usb.ucom.cons_baud: 9600
hw.usb.ucom.cons_subunit: 0
hw.usb.ucom.cons_unit: -1
hw.usb.ucom.debug: 0
hw.usb.ucom.pps_mode: 0



--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5c6da274-102c-33c6-50f0-20597cf8e7ef>