An update for the archives.
Desktop:
-----------
I tried doing the same experiment Peter suggested - i.e., try from Linux to
check if the serial port worked fine. But I was still getting garbled data,
I played with baud, parity, stop bits, etc., but no luck. The serial to USB
cables I tried was:
- USB to TTL Serial Cable - Debug / Console Cable for Raspberry Pi from
Adafruit https://www.adafruit.com/product/954: This is often sold
with raspberry pies.
- USB 2.0 to TTL Level
https://www.aliexpress.com/item/33001930568.html?spm=a2g0o.productlist.0.0.47dd5428RdUDOc&algo_pvid=8c8abdcc-160b-4eab-9a2d-ae8d0ff7f9c8&algo_exp_id=8c8abdcc-160b-4eab-9a2d-ae8d0ff7f9c8-6&pdp_ext_f=%7B%22sku_id%22%3A%2212000027174900820%22%7D&pdp_npi=2%40dis%21CAD%21%212.68%21%21%21%21%21%402101e9cf16540569516133604e7863%2112000027174900820%21sea:
This one let me change the logic's voltage level to either 5V or 3.3V. I
thought that the desktops logic level may be 5V instead of the typical 3.3
for raspberry pi.
Neither of these cables worked. But the following cable worked with pretty
much the default baud of 115200, parity options.
- https://www.amazon.ca/gp/product/B075YHFMC7
I do not plan to dig into why I got garbled data with the first two cables
and correct data with the last cable - as I already spent way too much time
on this :)
On Fri, May 27, 2022 at 2:54 PM Sid Agrawal
Thanks a lot Peter. The issues were on my end.
Desktop ----------- COM1 was the right port, but I was connecting the wrong physical connector on the motherboard. After connecting the connector I am seeing output on the port. However, the output is garbled, but it is the right amount of output. Even the non-sel4 o/p is garbled, *so this is not a seL4 issue*. If you have any insights on what could be happening here, that would be great.
Looking at the serial_init() https://github.com/seL4/seL4/blob/master/src/plat/pc99/machine/io.c#L15 function in the kernel for pc99. I see that baudrate is 115200, with no parity and 1 stop bit. Based on that I used the following picocom command:
picocom -b 115200 -p n -f n -s 1 /dev/ttyUSB0
I tried different baudrates and settings, but no luck.
Server: -------- I did not get a chance to try on a server. I will do that only if I cannot make it work on the desktop.
Thanks again, sid
On Thu, May 26, 2022 at 8:58 PM Peter Chubb
wrote: [CAUTION: Non-UBC Email]
> "Sid" == Sid Agrawal
writes: Sid> x86_64 server ------------------ Spec: Dell R520, two quad-core Sid> Xeons (E5-2407 v2 @ 2.40GHz), 32GB of memory.
Sid> The server's serial is redirected to the IPMI console. On the Sid> IPMI console, I see many messages related to the bios, etc. And Sid> finally, I see this:
The serial port redirected over IPMI is usually com2 not com1.
If you change the boot command to:
kernel mboot.c32 append sel4kernel console_port=0x2f8 debug_port=0x2f8 --- sel4rootserver
you may see the correct output.
Sid> x86_64 Desktop ---------------------- Spec: Core 2 Quad, 4 GB ram
Sid> Fortunately, even though the serial pins did not have any output, Sid> the monitor output was the same as for the server. Unfortunately, Sid> it did not get any farther along than the server.
Sid> MBR SYSLINUX 6.04 EDD [...] Loading sel4kernel... ok Loading Sid> rootserver... ok
Again, check *which* serial port you hooked up. Booting linux, and doing something like stty 115200 < /dev/ttyS0 echo foo > /dev/ttyS0
will tell you if you have serial hooked up right. Possibilities are: -- need to swap Rx and Tx lines on the connector -- talking to wrong port (com2 instead of com1)
Peter C
-- Dr Peter Chubb https://trustworthy.systems/ Trustworthy Systems Group CSE, UNSW Core hours: Mon 8am-3pm; Wed: 8am-5pm; Fri 8am-12pm.