Difference between revisions of "Sheevaplug"
(→FTDI unter Linux) |
|||
Line 16: | Line 16: | ||
<*> USB FTDI Single Port Serial Driver | <*> USB FTDI Single Port Serial Driver | ||
</pre> | </pre> | ||
+ | |||
+ | ====UDEV Regeln==== | ||
Nach dem einschalten des SheevaPlugs sollte er als Device /dev/ttyUSB* erscheinen. | Nach dem einschalten des SheevaPlugs sollte er als Device /dev/ttyUSB* erscheinen. | ||
Line 40: | Line 42: | ||
Danach sollten die Devices /dev/ttyUSB{0,1} vorhanden sein. | Danach sollten die Devices /dev/ttyUSB{0,1} vorhanden sein. | ||
0 ist das JTAG, 1 ist die serielle Konsole. | 0 ist das JTAG, 1 ist die serielle Konsole. | ||
+ | |||
+ | |||
+ | ====Modul manuell laden==== | ||
+ | Wenn man das Modul manuell laden will, kann man modprobe die VID und PID als Parameter mitgeben: | ||
+ | <pre>modprobe ftdi_sio vendor=0x9e88 product=0x9e8f</pre> | ||
===FTDI unter Mac OS X=== | ===FTDI unter Mac OS X=== |
Revision as of 21:47, 3 September 2009
Der SheevaPlug einer der ersten "Steckdosen Computer" die auf dem Markt verfügbar sind. Das Herzstück des SheevaPlug ist der 1,2 GHz Marvell Kirkwood 6281 ARM Prozessor.
Contents
General
Der Default Benutzer um sich auf dem SheevaPlug einzuloggen lautet:
Benutzer: root Passwort: nosoup4u
Debugging Schnittstellen
FTDI unter Linux
- Um auf die serielle Konsole des Plugs zuzugreifen, braucht man ein USB Kabel mit B-Mini Stecker.
- Damit der serielle Zugriff funktioniert werden die noetigen Kernel Treiber entweder einkompiliert oder als Module benoetigt.
Device Drivers ---> <*> USB support ---> <*> USB Serial Converter support ---> <*> USB FTDI Single Port Serial Driver
UDEV Regeln
Nach dem einschalten des SheevaPlugs sollte er als Device /dev/ttyUSB* erscheinen. Ist das nicht der Fall, kenn der FTDI Treiber die VID und PID des Sheevaplugs nicht. Dann muss man noch einige udev-Regeln hinzufügen.
# load module ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", \ ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", \ DRIVER=="", \ RUN+="/sbin/modprobe -b ftdi_sio" # add vid and pid to driver ACTION=="add", SUBSYSTEM=="drivers", \ ENV{DEVPATH}=="/bus/usb-serial/drivers/ftdi_sio", \ ATTR{new_id}="9e88 9e8f" # set permissions so users can access the devices ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", MODE="0660", GROUP="plugdev"
Dann einmal ausstöpseln, wieder einstecken, das Modul sollte geladen werden. Danach sollten die Devices /dev/ttyUSB{0,1} vorhanden sein. 0 ist das JTAG, 1 ist die serielle Konsole.
Modul manuell laden
Wenn man das Modul manuell laden will, kann man modprobe die VID und PID als Parameter mitgeben:
modprobe ftdi_sio vendor=0x9e88 product=0x9e8f
FTDI unter Mac OS X
- Ladet euch zuerst den folgenden Treiber Virtuel COM Port Drivers (VCP) für Mac OS X (Intel) 10.4 oder höher.
- Folgt der Anleitung zur Installation des Treibers
- Nach dem Reboot editiert folgende Datei mit root-Rechten
sudo vim /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
Kopiert nun folgenden zusätzlichen Inhalt hinein
<key>SheevaPlug JTAGKey FT2232D A</key> <dict> <key>CFBundleIdentifier</key> <string>com.FTDI.driver.FTDIUSBSerialDriver</string> <key>IOClass</key> <string>FTDIUSBSerialDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bConfigurationValue</key> <integer>1</integer> <key>bInterfaceNumber</key> <integer>0</integer> <key>idProduct</key> <integer>40591</integer> <key>idVendor</key> <integer>40584</integer> </dict> <key>SheevaPlug JTAGKey FT2232D B</key> <dict> <key>CFBundleIdentifier</key> <string>com.FTDI.driver.FTDIUSBSerialDriver</string> <key>IOClass</key> <string>FTDIUSBSerialDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bConfigurationValue</key> <integer>1</integer> <key>bInterfaceNumber</key> <integer>1</integer> <key>idProduct</key> <integer>40591</integer> <key>idVendor</key> <integer>40584</integer> </dict>
- Reinitialisiert die Abhängikeiten mit dem folgendem Befehl
sudo touch /System/Library/Extensions
- Sollte dieses nicht funktionieren könnt Ihr auch das Modul neu Laden, dabei geht Ihr wie folgt vor
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
sollte hier bei ein Fehler gelistet werden, einfach Ignorieren
sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext
- Zum Schluss schließt den SheevaPlug an, nun sollte eigentlich alles funktionieren
Verbindung aufbauen
Minicom
sudo port install minicom
oder
sudo aptitude install minicom
oder was auch immer ihr so nutzt
Startet minicom wie folgt
sudo minicom -s
Der parameter -s wird benötigt um eine Konfigurationsdatei anzulegen. Im Anschluß passt noch unter dem Menü Punkt "Serial Port Setup" noch das "Serial Device" an.
Minicom Config
* Serial Device: /dev/ttyUSB1 * Baudrate: 115200bps * Databits: 8 * Parity: None * Stopbits: 1 * Hardware Flow Control: No * Software Flow Control: No
Die Konfiguration ist auch bekannt als 115200 8N1.
Screen
screen /dev/ttyUSB1 115200
Gentoo Installation
http://dev.gentoo.org/~armin76/arm/sheevaplug/install.xml
Original U-Boot Config
baudrate=115200 loads_echo=0 rootpath=/mnt/ARM_FS/ netmask=255.255.0.0 console=console=ttyS0,115200 CASset=min MALLOC_len=1 ethprime=egiga0 bootargs_root=root=/dev/mtdblock2 ro ethmtu=1500 usb0Mode=host nandEcc=1bit ethact=egiga0 cesvcid=ULULULULULULPPULULULULULDA bootargs_end=:::DB88FXX81:eth0:none image_name=uImage standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000; mvPhoneConfig=mv_phone_config=dev0:fxs,dev1:fxs mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500 yuk_ethaddr=00:00:00:EE:51:81 netretry=no rcvrip=169.254.100.100 loadaddr=0x02000000 autoload=no ethaddr=00:50:43:01:D5:94 run_diag=no bootargs=console=ttyS0,115200 mtdparts=nand_mtd:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs) rw root=/dev/mtdblock1 rw ip=10.4.50.4:10.4.50.5:10.4.50.5:255.255.255.0:DB88FXX81:eth0:none bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000 ipaddr=192.168.100.200 serverip=192.168.100.181 stdin=serial stdout=serial stderr=serial mainlineLinux=no enaMonExt=no enaCpuStream=no enaWrAllo=no pexMode=RC disL2Cache=no setL2CacheWT=yes disL2Prefetch=yes enaICPref=yes enaDCPref=yes sata_dma_mode=yes netbsd_en=no vxworks_en=no bootdelay=3 disaMvPnp=no enaAutoRecovery=yes