
Here is the write up we used to do this for USB serial with a 1510. You should disregard the 'setslink' comments below. Someone at TI originally had it working in a u-boot variant here. Wolfgang implemented a slightly different version for the SX1.
Hope this helps more than confuses.
Regards, Richard W.
---------------------------------------------- Software configuration ======================
Host side ---------
On the PC host side, you need to configure the kernel to support USB serial devices. Assuming you are using "make menuconfig" or "make xconfig", go to "USB Support" section and enable the options as follows ("M" means "enable as a loadable module"):
If, and only if, "Support for USB is set to <N>, then: - Support for USB <M>
Also enable the /proc filesystem for USB: - Preliminary USB device filesystem <Y>
Then choose a driver for your USB controller and enable it as module, i.e. exactly one of the following:
- UHCI (Intel PIIX4, VIA, ...) support <M> or - OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support <M>
Then go to "USB Serial Converter support" subsection and enable:
- USB Serial Converter support <M> - USB Generic Serial Driver <Y>
Next, recompile the kernel and install kernel itself and modules as usual.
NOTE: You may want to replace your existing copy of usbserial.c with the version from cvs. This version is fixed to prevent a common segfault. You can find the updated source file at PET/src/os/linux/drivers/usb/serial/usbserial.c.
After this, make sure you have the following modules installed: * usbcore.o - the core of host USB subsystem (if "USB Support" above was <Y>, this isn't needed) * [host controller driver].o - driver for the host USB controller * usbserial.o - host-side serial function driver
For example, if you are using UHCI host controller and the kernel modules are placed in their default locations, type:
find /lib/modules/`uname -r`/kernel/drivers/usb -type f
at the shell prompt. You should see something like this:
/lib/modules/2.4.19/kernel/drivers/usb/usb-uhci.o /lib/modules/2.4.19/kernel/drivers/usb/serial/usbserial.o
If this is true, host configuration is completed.
Kermit ------
If you don't already have kermit installed on your linux host machine, do the following: Update your cvs PET/src/os/tools/ directory. Go into PET/src/os/tools/ckermit and run 'make linux' and 'make install'. Now, when you type 'which kermit' you should see '/usr/local/bin/kermit'. This is the program that minicom will run when doing uploads to your device. Copy the file u-boot.kermrc from the PET/src/os/tools/ckermit directory into your home directory. RENAME THIS FILE TO .kermrc. This file contains important setup commands to initialize kermit.
Minicom -------
To communicate with the TTY client, you'll need to create a minicom configuration which uses /dev/ttyUSB0. Run minicom, as root, with
the -s option and do the following:
- Type <Control-A> O (letter o) to get into the configuration menu. - Choose "Filenames and paths". Change the value of "E - Kermit program" to the location of kermit on your host system. 'which kermit' will give you the correct path to use here. Press enter to go back to the previous screen. - Choose "File transfer protocols". You shuld have 2 entries for kermit. Modify the first (has U in the U/D column) so that the "Program" column has the following value: "kermit -i -l %f -s". - Choose "Serial Port Setup". Now change the value of "A - Serial Device" to be /dev/ttyUSB0. - Now press enter to go back to the previous screen and select "Save setup as...". Save this setup as usb. - Exit from minicom.
OMAP1510 client side --------------------
On the 1510 client side, you need to configure the kernel to get the latest version of u-boot out of cvs. Build u-boot as usual. Make sure you have a USB "A to mini-B" cable. That's a normal sized host connector on one end and a mini-sized client connector on the other end. Client end goes into the device.
Running =======
Setting up TTY-over-USB connectivity ---------------------------------------
On the host side, you need to load kernel modules, exactly in the following order, by typing:
insmod [host controller driver] insmod usbserial vendor=0x0451 product=0xe003
Then re-plug the USB cable and examine log files (usually somewhere in /var/log, check your /etc/syslog.conf) on the host system. You should see something like the following (date and host name fields are skipped):
kernel: hub.c: USB new device connect on bus1/1, assigned device number 9 kernel: usb.c: kmalloc IF c0f74ec0, numif 1 kernel: usb.c: new device strings: Mfr=1, Product=2, SerialNumber=0 kernel: usb.c: USB device number 9 default language ID 0x4e3e kernel: Manufacturer: Texas Instruments kernel: Product: TI PET Bootloader kernel: usbserial.c: Generic converter detected kernel: usbserial.c: Generic converter now attached to ttyUSB0 (or usb/tts/0 for devfs) kernel: usb.c: serial driver claimed interface c0f74ec0
Now you can run minicom with your usb configuration: 'minicom usb'. You should see the first few lines of your u-boot console.
Downloading to the device ------------------------- With the modules loaded on the host machine as explained above, set up u-boot for USB downloads using kermit.
- At the u-boot prompt type 'setslink usbtty'. This will select the usbtty device as your download link. - Now type 'loadb'. This will pause, waiting for data to be sent from the host. - Now type <Control-A> S in minicom to bring up the "Upload" menu. Choose "kermit" as the upload protocol. Select the file you wish to transfer and then choose "Okay" (notice menu buttons at bottom of screen, you can use the arrow keys to move between these). You should see a kermit upload progress window. When the transfer has completed, u-boot should display a download summary showing the number of bytes transferred.
If you don't want to use minicom for a USB TTY device, but still want to be able to use the USB cable to upload files to the device, you can run kermit by hand.
- From a serial minicom console, run 'setslink usbtty' to ensure that u-boot uses USB for downloads. - Now set your device in kermit download mode by typing 'loadb'. - Make sure that your USB cable is connected and then run 'kermit -i -l /dev/ttyUSB0 -s fileName' where fileName is the file that you wish to upload to the device.
-----Original Message----- From: u-boot-users-admin@lists.sourceforge.net [mailto:u-boot-users- admin@lists.sourceforge.net] On Behalf Of Jayme Hero Sent: Monday, October 18, 2004 2:54 PM To: u-boot-users@lists.sourceforge.net Subject: [U-Boot-Users] USB Console
Hi
I am using U-Boot and want to use the USB console. I am have an
OMAP1510
and am connecting it as a device to a PC running Suse 9. Linux recognizes
that
something has been connected to the USB port, but it loads the acm
diver,
starts a modem configuration utility, and I think it sets the device
and
/dev/acm0. I cannot connect to this with kermit. How do I need to
setup
my computer to get a console over USB? Thanks for any help
jeh
This SF.net email is sponsored by: IT Product Guide on
ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give
us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users