Michael Vogt Seite 1 von 15

Transcrição

Michael Vogt Seite 1 von 15
MP3 Player Bauanleitung
Michael Vogt
Seite 1 von 15
MP3 Player Bauanleitung
Michael Vogt
Seite 2 von 15
MP3 Player Bauanleitung
INHALTSVERZEICHNIS
Inhaltsverzeichnis............................................................................................................................................ 3
Einleitung ........................................................................................................................................................ 4
Vorbedingungen .............................................................................................................................................. 5
Benötigte Hardware..................................................................................................................................... 5
Hardware zusammenstellen......................................................................................................................... 6
Benötigte Software ...................................................................................................................................... 6
Installation....................................................................................................................................................... 7
Firmware Update ......................................................................................................................................... 7
Basis Konfiguration..................................................................................................................................... 8
Default Konfiguration ............................................................................................................................... 10
Konfiguration Netzwerk ............................................................................................................................ 11
Konfiguration SCMPC (Last.FM Client) .................................................................................................. 12
Konfiguration Bemused............................................................................................................................. 13
Konfiguration CmdPad.............................................................................................................................. 14
Beispiel.......................................................................................................................................................... 15
Michael Vogt
Seite 3 von 15
MP3 Player Bauanleitung
EINLEITUNG
Dieses Dokument soll helfen, aus einem ASUS Wrt 500GP Access Point einen MP3 Player zu erstellen.
Dazu wird die Asus Firmware mit einer OpenWRT1 Firmware überschrieben. Technische Details werden
hier nicht näher betrachtet, da der Hauptzweck dieses Dokumentes die Bauanleitung ist.
Technische Details sind im Dokument „Diplomarbeit Embedded Linux, Dokumentation“ zu finden.
Achtung: Der Garantieanspruch des Access Points erlischt, wenn eine nicht Original Firmware auf den
Router geflasht wird. Ebenfalls besteht die (kleine) Möglichkeit, den Router zu zerstören!
1
http://openwrt.org/
Michael Vogt
Seite 4 von 15
MP3 Player Bauanleitung
VORBEDINGUNGEN
Bevor mit der Installation der neuen Firmware begonnen werden kann, sollte überprüft werden, ob alle
benötigten Hardware und Software-Komponenten vorhanden sind.
BENÖTIGTE HARDWARE
Um den MP3 Player nachzubauen, ist folgende Hardware nötig:
Basis - Asus Wrt 500GP AP (Version 1)
USB 2.0 Hub (aktive Stromversorgung)
USB Creative Sound Blaster Connect Soundkarte
USB Keypad
USB Memorystick
USB Bluetooth Adapter
USB Display Crystalfontz 634 USB LCD (20x4 Character Display)
Achtung: Mittlerweile gibt es 2 Versionen des ASUS Wrt 500GP AP, wobei die zweite Version noch nicht
vollständig von OpenWRT unterstützt ist.
Hinweis: Der Typ der USB Soundkarte und des LCD Displays sind Vorschläge, sie können auch durch
andere Modelle ersetzt werden. Das LCD Display sollte durch LCD4Linux unterstützt sein, siehe dazu
http://ssl.bulix.org/projects/lcd4linux/wiki/Displays für eine Liste mit unterstützten Modellen.
Auf dem Memorystick sollte ein Unterverzeichnis mit dem Namen „_mp3“ erstellt werden. In dieses
Unterverzeichnis werden nun alle MP3 Files kopiert. Formatiert kann der Memorystick mit dem Filesystem
FAT oder NTFS werden.
Michael Vogt
Seite 5 von 15
MP3 Player Bauanleitung
HARDWARE ZUSAMMENSTELLEN
Die Hardware wird folgendermassen verbunden:
WAN
LAN
WLAN
ASUS Wrt 500gp
USB 2.0
Hub
USB
USB
TTL TTY
USB
Memorystick
USB
Bluetooth
USB
Audio
USB
Keypad
USB
Display
Abbildung 1: Hardware-Verbindungen
BENÖTIGTE SOFTWARE
Um den Asus Wrt 500GP AP mit der neuen Firmware zu versehen, werden folgende Applikationen
benötigt:
OpenWRT Firmware, Applikation-Packages und Konfigurationsfiles
(http://www.neophob.com/files/MP3Player-Guide-v1.0.zip )
PuTTY (URL: http://www.chiark.greenend.org.uk/~sgtatham/putty/)
WinSCP (URL: http://winscp.net/eng/index.php)
ASUS Firmware Restoration Tool (wird auf der CD mitgeliefert)
JamSE Client auf dem Mobiltelefon (http://jamse.sourceforge.net/)
Michael Vogt
Seite 6 von 15
MP3 Player Bauanleitung
INSTALLATION
Als erstes muss die Original-Firmware von Asus mit der OpenWRT Firmware überschrieben werden.
FIRMWARE UPDATE
Firmware-Update für ASUS WL-500g Premium (Version 1).
Übersicht
Um eine neue Firmware für diesen Router zu installieren, müssen folgende Schritte erledigt werden:
Stromkabel des Routers entfernen
Gekreuztes RJ45 Kabel zwischen Workstation und Router Port LAN1 verbinden (nicht WAN!)
Auf dem Router den RESTORE Knopf gedrückt halten (schwarzer Knopf, nicht der rote Knopf),
danach das Stromkabel wieder mit dem Router verbinden
Wenn das POWER LED langsam blinkt, ist der Router im DIAG Modus - der RESTORE Knopf
muss nun nicht mehr gedrückt werden
Im DIAG Modus hat der Router (per Default) die IP Adresse 192.168.1.1 und akzeptiert neue
Firmware Images
Jetzt kann das "ASUS Firmware Restoration Tool" verwendet werden, um das Image via TFTP auf
den Router zu übertragen.
Hinweis: Dieses Tool unterstützt nur eine NIC auf der Workstation - daher alle NIC's ausser der
verwendeten RJ45 Verbindung deaktivieren (Virtuelle Adapter, Wireless...). Ist das "ASUS
Firmware Restoration Tool" nicht vorhanden, kann auch ein anderer TFTP Client verwendet
werden
Achtung: Ist die neue Firmware übertragen, darf der Router nicht direkt neu gestartet werden, da
der interne Flash Speicher "partitioniert" wird – 5 Minuten warten, nachdem das „Firmware
Restoration Tool“ dir Firmware übertragen hat sollte genügen.
Screenshot des Firmware Restoration Tools von ASUS:
Abbildung 2: ASUS Firmware Restoration Tool
Michael Vogt
Seite 7 von 15
MP3 Player Bauanleitung
BASIS KONFIGURATION
Ist OpenWRT als Firmware installiert, muss zuerst die Grundkonfiguration erstellt werden. Dazu verbindet
man sich via Telnet auf die IP 192.168.1.1 und setzt das Root Passwort:
=== IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable SSH
-----------------------------------------BusyBox v1.8.2 (2008-04-10 12:28:10 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______
________
__
|
|.-----.-----.-----.| | | |.----.| |_
|
|| _ | -__|
|| | | ||
_||
_|
|_______||
__|_____|__|__||________||__| |____|
|__| W I R E L E S S
F R E E D O M
KAMIKAZE (bleeding edge, r10786) ------------------* 10 oz Vodka
Shake well with ice and strain
* 10 oz Triple sec mixture into 10 shot glasses.
* 10 oz lime juice Salute!
--------------------------------------------------root@OpenWrt:/# passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
Diese Aktion hat zur Folge, dass der SSH Daemon aktiviert wird. Nun können die Packages via SCP auf
den Router kopiert werden. Als Ziel sollte /tmp verwendet werden, da dort genügend freier Speicherplatz
vorhanden ist (Ramdisk).
Abbildung 3: WinSCP Datentransfer zu OpenWRT
Hinweis: Als SSH Daemon wird eine „abgespeckte“ Variante verwendet, Dropbear. Dieser SSH Server
unterstützt nur SCP (kein SFTP). Wird eine Verbindung mit WinSCP aufgebaut, werden diverse
Fehlermeldungen über fehlende Files angezeigt. Diese Fehler können ignoriert werden und stören die
Funktion nicht.
Michael Vogt
Seite 8 von 15
MP3 Player Bauanleitung
Nachdem die Packages auf den Router kopiert sind, können diese installiert werden. Eine Applikation wird
mit dem Befehl „ipkg install /pfad/file.ipk“ installiert. Da Packages gegenseitige Abhängigkeiten haben,
müssen diese in der richtigen Reihenfolge installiert werden, hier eine mögliche Reihenfolge:
1. kmod-usb-core*
2. kmod-usb-serial*
3. kmod-usb-serial-ftdi*
4. kmod-usb-serial-pl2303*
5. kmod-usb-uhci*
6. kmod-usb2*
7. kmod-sound-core*
8. kmod-usb-audio*
9. kmod-bluetooth*
10. kmod-nls-base_2.6.23.16-brcm47xx-1_mipsel.ipk
11. kmod-nls-iso8859-1*
12. kmod-nls-cp437*
13. kmod-nls-utf8*
14. kmod-usb-storage*
15. kmod-fs-vfat*
16. kmod-fs-ntfs*
17. kmod-input-core_2.6.23.16-brcm47xx-1_mipsel.ipk
18. kmod-input-evdev_2.6.23.16-brcm47xx-1_mipsel.ipk
19. kmod-hid_2.6.23.16-brcm47xx-1_mipsel.ipk
20. kmod-usb-hid*
21. pciutils*
22. strace*
23. openntpd_3.9p1-2_mipsel.ipk
24. bluez-libs_3.24-1_mipsel.ipk
25. libpthread_0.9.29-12_mipsel.ipk
26. libexpat_1.95.8-1_mipsel.ipk
27. dbus_1.0.2-2_mipsel.ipk
28. bluez-utils*
29. libncurses_5.6-1_mipsel.ipk
30. alsa-lib_1.0.13-1_mipsel.ipk
31. alsa-utils*
32. cmdpad *
33. libflac_1.1.2-1_mipsel.ipk
34. zlib_1.2.3-5_mipsel.ipk
35. libid3tag_0.15.1b-1_mipsel.ipk
36. libmad_0.15.1b-1_mipsel.ipk
37. libvorbisidec_1.0.2\+svn14261-1_mipsel.ipk
38. libiconv_1.9.1-1_mipsel.ipk
39. mpd*
40. mpc*
41. libusb_0.1.12-1_mipsel.ipk
42. lcd4linux*
43. libdaemon_0.12-1_mipsel.ipk
44. argtable_2.7-1_mipsel.ipk
45. confuse_2.5-1_mipsel.ipk
46. libopenssl_0.9.8e-3_mipsel.ipk
47. libcurl_7.17.1-1_mipsel.ipk
48. scmpc*
49. glib1_1.2.10-1_mipsel.ipk
50. libstdcpp_4.1.2-12_mipsel.ipk
51. bemusedlinuxserver*
Michael Vogt
Seite 9 von 15
MP3 Player Bauanleitung
Nun sind alle benötigten Applikationen auf dem Router installiert. Jetzt müssen sie noch konfiguriert
werden.
DEFAULT KONFIGURATION
Um den MP3 Player zu konfigurieren, können die vorbereiteten Konfigurations-Files auf den Router
kopiert werden. Diese liegen im Verzeichnis „config“ und können mit WinSCP direkt auf den Router
kopiert werden. Dabei ist zu beachten, dass die Verzeichnisstruktur beibehalten wird.
Nachdem die Files kopiert wurden, muss noch die Berechtigung des MPD Start-Skripts geändert werden.
Das File muss das „Ausführen“ File-Flag erhalten (X):
Abbildung 4: WinSCP, File-Flags setzten
Nun müssen die Applikationen noch aktiviert (=automatisches Starten nach einem Reboot) werden, dazu
verbindet man sich mit der Applikation PuTTY (IP Adresse 192.168.1.1) auf den Router und gibt folgende
Befehle ein (Gelb markiert):
root@OpenWrt:/#
root@OpenWrt:/#
root@OpenWrt:/#
root@OpenWrt:/#
root@OpenWrt:/#
root@OpenWrt:/#
Michael Vogt
/etc/init.d/mpd enable
/etc/init.d/lcd4linux enable
/etc/init.d/cmdpad enable
/etc/init.d/dbus enable
/etc/init.d/bluez-utils enable
/etc/init.d/bemused enable
Seite 10 von 15
MP3 Player Bauanleitung
KONFIGURATION NETZWERK
Per Default ist das Netzwerk fix auf die IP Adresse 192.168.1.1 konfiguriert. Die Konfiguration wird im
File /etc/config/network gespeichert und kann folgendermassen geändert werden:
1. Verbindung auf den Router mit PuTTY herstellen
2. Umkonfigurieren auf DHCP:
root@OpenWrt:/# vi /etc/config/network
config interface lan
option type
bridge
option ifname
"eth0.0"
option proto
dhcp
oder Umkonfigurieren auf eine andere statische Adresse:
root@OpenWrt:/# vi /etc/config/network
config interface lan
option type
bridge
option ifname
"eth0.0"
option proto
static
option ipaddr
192.168.x.x
option netmask 255.255.255.0
Wurden die Änderungen gemacht, muss der Netzwerkdienst neu gestartet werden, das wird mit folgendem
Befehl erledigt:
root@OpenWrt:/# /etc/init.d/network restart
br-lan: port 1(eth0.0) entering disabled state
device eth0.0 left promiscuous mode
device eth0 left promiscuous mode
br-lan: port 1(eth0.0) entering disabled state
br-lan: Dropping NETIF_F_UFO since no NETIF_F_HW_CSUM feature.
device eth0.0 entered promiscuous mode
device eth0 entered promiscuous mode
br-lan: port 1(eth0.0) entering learning state
br-lan: topology change detected, propagating
br-lan: port 1(eth0.0) entering forwarding state
Hinweis: Die Netzwerkverbindung wird bei diesem Befehl unterbrochen, und PuTTY muss erneut die
Verbindung aufbauen.
Michael Vogt
Seite 11 von 15
MP3 Player Bauanleitung
KONFIGURATION SCMPC (LAST.FM CLIENT)
Möchte man die gespielten Songs an Last.fm („scrobbeln“) übermitteln muss ein Last.fm Account
vorhanden sein. Ist dies der Fall, kann die Datei /etc/scmpc.conf editiert werden und am Ende des Files, der
Username und dessen Passwort eingeben. Dazu wird der Editor „vi“ verwendet: „vi /etc/scmpc.conf“.
Zuerst muss die Taste „I“ gedrückt werden um in den editier Modus zu gelangen - nun kann das File
editiert werden:
<...>
# audioscrobbler
# username: Your
# password: Your
audioscrobbler {
username
password
}
section
audioscrobbler username
audioscrobbler password
= "username"
= "password"
Wurden die Änderungen ausgeführt, muss der editier Modus mit dem Drücken der Taste „ESC“ verlassen
werden. Mit der Eingabe von „:wq“ wird die Datei gespeichert und der Editor wird beendet.
Nun werden noch die benötigten Dienste aktiviert:
root@OpenWrt:/# /etc/init.d/scmpc enable
root@OpenWrt:/# echo GMT-1 > /etc/TZ
root@OpenWrt:/# /etc/init.d/ntpd enable
Jetzt kann der Router neu gestartet werden („reboot“) – nach einem Reboot sollten alle Dienste gestartet
sein.
Achtung: Memory Stick sollte spätestens jetzt mit dem USB Stick verbunden werden!
Michael Vogt
Seite 12 von 15
MP3 Player Bauanleitung
KONFIGURATION BEMUSED
Funktioniert die Bluetooth-Steuerung mit dem Mobiltelefon nicht, muss bemused noch konfiguriert werden.
Dazu eine Verbindung mit PuTTY auf den Router erstellen. Auf dem Mobiltelefon sollte nun Bluetooth
aktiviert werden. Jetzt folgenden Befehl ausführen:
root@OpenWrt:/# sdptool browse
Inquiring ...
Browsing DE:AD:BE:EF:CA:FE ...
<...>
Service Name: COM 1
Service RecHandle: 0x10005
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0x656e
encoding:
0x6a
base_offset: 0x100
<...>
Bluetooth besteht auf verschiedenen Diensten, uns interessiert jedoch nur der „COM 1“ Dienst. Dieser
Dienst hat eine Channel Nummer, im Beispiel oben ist das Nummer drei. Diese Nummer muss nun im File
„/etc/bemused.conf“ eingetragen werden, und zwar bei der „channel“ Angabe:
root@OpenWrt:/# cat /etc/bemused.conf
# bemused config file Version 1.73 (no changes since 1.71)
# lines with a # at the beinning are for comments and not readen by the bemusedserver
# You only need to set up options which have no default and which ware not optinal
# this is a mpd-hack version by [email protected]
# Path to mpd (if mpd is in path only mpd) (default is mpd)
mpddir=/usr/bin/mpd
# channel for what the serial port service is registered (with sdptool look in README)
# (default 10)
# example:
# root@OpenWrt:~# sdptool browse
# Inquiring ...
# <...>
# Service Name: COM 1
# Service RecHandle: 0x10005
# Service Class ID List:
#
"Serial Port" (0x1101)
# Protocol Descriptor List:
#
"L2CAP" (0x0100)
#
"RFCOMM" (0x0003)
#
Channel: 3
<<<
# Language Base Attr List:
#
code_ISO639: 0x656e
#
encoding:
0x6a
#
base_offset: 0x100
channel=3
# directorys where the mp3s are. If more than one seperate them by a m semicolon (must be set)
# point this directory to the mpd music directory!
mp3dir=/mnt/usbdrive/_mp3/
<…>
Das File kann mit dem „vi“ Editor editiert werden, siehe oben für eine kurze Einführung.
Michael Vogt
Seite 13 von 15
MP3 Player Bauanleitung
KONFIGURATION CMDPAD
Im Default CmdPad Konfigurations-File sind bereits Keycodes definiert. Diese dürften aber kaum mit dem
verwendeten USB Keypad übereinstimmen. Daher müssen diese Keycodes noch angepasst werden. Um
eine Taste einem Keycode zuzuweisen, kann cmdpad gestartet werden, wird nun eine Taste gedrückt, wird
der entsprechende Keycode angezeigt.
root@OpenWrt:/# cmdpad
cmdpad - version 0.0.3 - Copyright (C) 2002-2003 Alessandro Fausto
Build with code optimization at Apr 10 2008 17:02:29
This is free software, comes with ABSOLUTELY NO WARRANTY, and
and you are welcome to redistribute it under certain conditions.
To view the licence use cmdpad --copying|more
Input driver version is 1.0.0
Input device ID: bus 0x3 vendor 0x4d9 product 0x1203 version 0x111
Input device name: HID 04d9:1203
no command found for key 81, event PRESS
no command found for key 81, event PRESS
no command found for key 81, event RELEASE
no command found for key 81, event RELEASE
no command found for key 80, event PRESS
no command found for key 80, event PRESS
no command found for key 80, event RELEASE
no command found for key 80, event RELEASE
Die neuen Keycodes sind im File /etc/cmdpad.conf einzutragen.
Michael Vogt
Seite 14 von 15
MP3 Player Bauanleitung
BEISPIEL
Abbildung 5: MP3 Player in einem Retro Gehäuse
Michael Vogt
Seite 15 von 15

Documentos relacionados