by jesse

Juhuu, endlich wieder etwas Technik hier \o/

Im Leben eines jeden Geeks kommt irgendwann die Zeit, in der 256 Megabyte auf dem MP3-Player einfach nicht mehr genug sind. Vergangene Woche war es bei mir soweit. Auf heftiges Anraten in unserem Channel habe ich mich für einen Rockbox-tauglichen Player, einen gebrauchten SanDisk sansa e260, entschieden. OpenSource auf dem MP3-Player? Sehr geil! Alles was man irgendwie mit so einem kleinen Teil realisieren könnte… kann man nun :)

Mich interessierte natürlich auch besonders der Last.fm-Support und ein stressfreies Übermitteln ins eigene Profil. Im Folgenden zeige ich, Walkthrough-style, wie ich das also gelöst habe. Rockbox sollte bereits installiert sein ;-)

Was habe ich hier eigentlich?

Also schliessen wir den kleinen an und schauen mal.

dmesg verrät uns alles, was wir wissen müssen (nämlich die Seriennummer und den /dev Eintrag).

...
usb 1-6: SerialNumber: 9000000000000000094B3523427DD1CEF
sd 10:0:0:0: [sdc] Attached SCSI removable disk
...

Jetzt brauchen wir nur noch die eindeutige Geräte-ID (UUID) um das Rockscrobbling robust einrichten zu können:

$ blkid | grep sdc
/dev/sdc1: UUID="6543-2342" TYPE="vfat" SEC_TYPE="msdos" LABEL="SD PLAYER"

fstab

Also ab damit in die fstab:

$ mkdir /mnt/sansa
$ echo "UUID=6543-2342 /mnt/sansa vfat rw,user,umask=007,gid=1000 0 0" >> /etc/fstab

UMASK und GID solltet Ihr natürlich auch entsprechend Eurer Umgebung anpassen. So brauchts keine Root-Rechte, um den Player mounten und beschreiben zu können.

udev

Weiter geht es mit einer Udev-Regel. Diese trifft beim Anschliessen des Players und führt automatisch unser Skript aus.

$ echo "BUS==\"usb\", SYSFS{serial}==\"9000000000000000094B3523427DD1CEF\", RUN+=\"/usr/local/bin/rockscrobbler\"" >> /etc/udev/rules.d/10-lolol.rules

Einlesen der Regeln nicht vergessen:

$ udevadm control --reload_rules

Womit soll ich es denn hochladen, lieber August?

Mit qtscrobbler und folgendem Schnippsel, liebe Liese ;)

$ cat > /usr/local/bin/rockscrobbler << EOF
#!/bin/bash
# SET...
MOUNTPOINT=/mnt/sansa/
LOGFILE=.scrobbler.log
USERNAME=jesseunseen
PASSWORD=xxxyouwishileftthisherexxx
TIMEZONE=+1
DEBUG=0
# ... AND GO
mount /mnt/sansa && \
/usr/bin/qtscrobbler-cli \
--verbose=$DEBUG \
--username=$USERNAME \
--password=$PASSWORD \
--location=$MOUNTPOINT$LOGFILE \
--timezone=$TIMEZONE && \
umount /mnt/sansa
EOF
$ chmod 711 /usr/local/bin/rockscrobbler

Und voila, MP3-Player anstöppseln und sich über das vollständigere Last.fm Profil freuen ;-)

PS: Das Foto ist von anythingbutipod.com.