Am trying to first-boot Beagle, but no luck so far. Here are the details:
Beagle rev B6, powered thru USB OTG. RS232 port connected to a PC through IDC10 to DB9M serial adapter and Null modem cable. I hold the user button when I connect the USB power and release it once the LED’s glow - all 4 LEDs are glowing green. Am using minicom, configured as suggested, and don’t see anything on the terminal.
There was one instance where there were some random characters, smileys and all, but all the other instances there was nothing.
I’ve verifed that the wiring of IDC10 to DB9M are as described in http://elinux.org/BeagleBoardFAQ#Serial_connection_.231 I’ve also verified that the NULL modem is wired properly - Rx to 2, Tx to 3 and 5 to GND.
- Do I have to keep the user button pressed every time I power up beagle?
- Serial connection #3 in http://elinux.org/BeagleBoardFAQ#Serial_connection_.231 mentions “However, your PC may want to see DSR before it transmits to BeagleBoard and needs to have DTR (pin 4) wrapped back to DSR (pin 6).” Can someone please explain this to me?? Does this mean Pin4 and Pin6 of the Null Modem cable should be shorted?? How do I do it??
- Sometimes I wonder if uboot has been flashed into NAND at all. Is there a way to check that?
Appreciate any help to get me started.
Make sure your baud rate is 115200
I used the prescribed settings - (BAUD RATE - 115200, DATA - 8 bit, PARITY- none, STOP - 1bit, FLOW CONTROL - none). No luck yet.
you don’t need to hold down the buttons, the boot code should dump to the serial port. You can try gtkterm instead of minicom - i have had issues with minicom - receive was ok but transmit didn’t work.
These would be my debugging steps
- Check whether you are accessing the right serial port on the pc
- Verify your cable independent of the beagleboard
- verify your PC serial port independent of the beagleboard
- If you have access to a scope check whether beagleboard is actually sending any data at all.
A PC serial port it designed to connect directly to an external
modem. The PC serial port is called "Data Terminal Equipment" (DTE).
The modem is called "Data Communications Equipment" (DCE) or a "Data
Set". When the PC serial port is configured it asserts DTR (Data
Terminal Ready). This tells the modem that it is connected to DTE.
When a modem is turned on it asserts DSR (Data Set Ready). This tells
DTE that it is connected to a live modem.
A PC serial port may choose to require that DSR is active before it
transmits or receives any characters. Or it may ignore DSR. Or this
may be a configurable option as part of the serial port configuration.
Your first step should be to ensure that your PC serial port is
working properly by itself without any connection to the BeagleBoard.
To do this, unplug the null modem cable from the BeagleBoard and
connect pins 2 and 3 (RXD and TXD) together with a paper clip.
Configure the port and see if the characters you type in the terminal
emulator window get echoed back. If this works, you at least know
that your PC serial port is alive.
If it doesn't work, make sure that the PC port handshaking is turned
off in the port configuration screen, i.e., no flow control.
If it still doesn't work, your PC may require that DSR is active. An
easy way to activate it is to connect DTR (pin 4) to DSR (pin 6) with
another paper clip -- or better yet, an insulated wire so it doesn't
short the RXD/TXD paper clip. Try again.
If this still doesn't work, your PC may be insisting on Request To
Send / Clear To Send handshaking. To see if this is the problem,
connect RTS (pin 7) to CTS (pin 8) with a third paper clip.
If this still doesn't work, your PC serial port is likely dead. I
once had a Dell where the serial port worked quite well for a long
time and then the serial chip exploded... literally! It was fractured
in half with "magic smoke" residue all over. People have reported
good luck with USB serial ports. There are also cheap serial port PCI
Hope this helps.
Thanks for the reply Santosh,
I will try with gtkterm too. Btw, I did try with hyperterminal too. The same result.
Did confirm that i am accessing the right serial port on the PC.
Had verified that the cable works independent of the beagleboard - connected it between two PCs - checked that the cable was working.
The PC serial port was working too!
Scope - will check and see.
Thanks a ton for the detailed reply. Appreciate it deeply.
Will try these out and see if it works for me.
It sounds like your PC port is working. Here's two more things to
1. Using an Ohmmeter, double check the connectivity between the 10-pin
IDC plug and the PC end of the null modem cable. You can read the
numbering of the IDC plug from the BeagleBoard 10-pin header P9. The
connections should be 2-3, 3-2, and 5-5. Also check for shorts
between those signals. You can also check this with the IDC cable
plugged into the BeagleBoard (with the power off, of course).
2. An LED and a 1K series resistor make a cheap RS-232 signal detector
if you don't have a 'scope. When BeagleBoard turns on you should see
a short burst of activity between the TX signal (P9 pin 3) and Ground
(P9 pin 5). Wire the LED so that it is normally off.
There are schematics in the excellent BeagleBoard Hardware Reference