[U-Boot-Users] USB Console

Woodruff, Richard r-woodruff2 at ti.com
Tue Oct 19 00:12:35 CEST 2004


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 at lists.sourceforge.net [mailto:u-boot-users-
> admin at lists.sourceforge.net] On Behalf Of Jayme Hero
> Sent: Monday, October 18, 2004 2:54 PM
> To: u-boot-users at 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/u-boot-users




More information about the U-Boot mailing list