MPD mit Hardware-Mixersteuerung und USB-Fernbedienung

Status
Für weitere Antworten geschlossen.

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi zusammen,

nachdem ich inzwischen sehr glücklich mit MPD auf dem Syno-NAS bin (ganz besonders seit den heutigen Erfolgen), will ich euch mal meine Erkenntnisse nicht vorenthalten ;)

Was läuft:
- MPD
- Hardware-Mixersteuerung (also keine Verzögerung mehr zwischen dem Einstellen der Lautstärke und der Auswirkung der Änderung)
- Fernbedienung des MPD über per USB angeschlossene handelsübliche Fernbedienung mit Multimedia-Tasten

Was noch kommen soll:
- 20*4 Blau/Weis-Alpha-Numerisches Display für Anzeige der MPD-Infos (Interpret, Titel, Spielzeit oder was auch immer, evtl auch einfache Systemstats)

Bei mir verwendete Hardware:
- Synology DS209
- USB-Soundkarte: TerraTec Aureon Dual USB
- USB-Fernbedienung: Equip Wireless Notebook Presenter (610023)

Voraussetzungen:
Hardware:
- IPKG muss eingerichtet sein
- USB-Soundkarte muss vom Synology-Kernel unterstützt werden, sonst muss man selber die entsprechenden Module suchen/übersetzen (Infos zB von hier)
- USB-Fernbedienung muss eine Tastatur mit Multimedia-Tasten darstellen, sonst muss mein Programm angepasst werden

Software (z.B. über IPKG installiert):
- mpd
- libmpdclient
- libhid
- libusb
- gcc
- alsa-utils
Damit *sollte* glaube ich alles installiert werden, was man zum Betrieb braucht. Eventuelle weitere Abhängigkeiten hat IPKG glaub automatisch aufgelöst.


Einrichtung von MPD:
Informationen zur Einrichtung von MPD an sich bitte der Website von MPD entnehmen.
Die besonderen Einstellungen die gemacht werden müssen:
Rich (BBCode):
audio_output {
        type            "oss"
        name            "OSS Audio"
        device          "/dev/dsp4"
        mixer_type      "oss"
        mixer_device    "/dev/mixer4"
        mixer_control   "PHONEOUT"
}
Das Device scheint wohl laut den Infos die ich gefunden habe ab DSM3 überall die Nummer 4 zu sein, vorher war es bei mir noch "/dev/dsp" ohne Nummer. Für den Mixer gilt natürlich die gleiche Nummer.

Wie findet man den richtigen Namen für das mixer_control?
Zuerst findet man den korrekten Mixer über ALSA: "alsamixer" ausführen und dort schauen, bei welchem Mixer die Soundkarte direkt den Pegel anpasst wenn man die Lautstärke ändert. Den Namen merken. In meinem Fall "Speaker":
alsamixer.png

Unter "/proc/asound/" sollte ein Ordner "card0" existieren, in dem es eine Datei "oss_mixer" gibt. Liest man diese aus erhält man zum Beispiel folgendes:
Rich (BBCode):
CI-DS> cat oss_mixer 
VOLUME "" 0
BASS "" 0
TREBLE "" 0
SYNTH "" 0
PCM "" 0
SPEAKER "" 0
LINE "" 0
MIC "Mic" 0
CD "" 0
IMIX "" 0
ALTPCM "" 0
RECLEV "" 0
IGAIN "" 0
OGAIN "" 0
LINE1 "" 0
LINE2 "" 0
LINE3 "" 0
DIGITAL1 "" 0
DIGITAL2 "" 0
DIGITAL3 "" 0
PHONEIN "" 0
PHONEOUT "Speaker" 0
VIDEO "" 0
RADIO "" 0
MONITOR "" 0
Hier sieht man, dass dem ALSA-Mixer-Element "Speaker" der OSS-Mixer "PHONEOUT" zugeordnet ist. Eben diesen trägt man dann als "mixer_control" ein.


Einrichtung von mpdremote:
mpdremote liest die Eingaben von der angeschlossenen USB-Fernbedienung (oder auch von einer echten Tastatur) und sendet dann die passenden Befehle an MPD.

Hinweis: Dieses Programm funktioniert ohne Modifikationen nur mit der oben genannten USB-Fernbedienung. Für andere FB oder Tastaturen, die Multimediatasten verwenden, ist die Anpassung einfach, ansonsten muss man etwas mehr rumtüfteln.

Den Sourcecode von mpdremote hier herunterladen, am Besten gleich inklusive des Compile- und Start-Skriptes.
Rich (BBCode):
# wget http://illy.bz/fi/nas/mpdremote/mpdremote.c
# wget http://illy.bz/fi/nas/mpdremote/mpdremote_compile.sh
# wget http://illy.bz/fi/nas/mpdremote/mpdremote_check.sh
Das Compile-Skript ausführbar machen und ausführen.
Rich (BBCode):
# chmod +x mpdremote_compile.sh
# ./mpdremote_compile.sh
Wenn alles glatt lief ist mpdremote installiert.
Nun noch das Start-Skript ausführbar machen und nach /opt/bin bewegen.
Rich (BBCode):
# chmod +x mpdremote_check.sh
# mv mpdremote_check.sh /opt/bin
Zum Abschluss noch das Start-Skript in die Crontab eintragen, das darf dort auch ruhig im 2 Minutentakt ausgeführt werden:
Rich (BBCode):
*/2	*	*	*	*	root	/opt/bin/mpdremote_check.sh

Ab dem nächsten Neustart des NAS sollten alle Komponenten laufen und man kann sich seiner Musik aus dem NAS erfreuen ;)
Wer nicht neustarten will:
Rich (BBCode):
# /usr/syno/etc/rc.d/S04crond.sh stop
# /usr/syno/etc/rc.d/S04crond.sh start
# mpd /opt/etc/mpd.conf



Viel Spaß,
Chris


PS: mpdremote wird in Zukunft sicher noch etwas erweitert und bezüglich Anpassbarkeit an andere FB verbessert. Vor allem aber kommt irgendwann die Anbindung an ein Display über USB, damit man auch was ausgeben kann ;)
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.156
Punkte für Reaktionen
402
Punkte
393
Hallo,
sehr schöne Anleitung, vielen Dank dafür. Es wäre sehr schön, wenn Du das auch in unser Wiki stellen könntest.

Gruß Götz
 

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi Götz,

hatte ich mir vorher schon überlegt, nur erstmal aus Zeitgründen sein gelassen. Werde ich aber demnächst in einer ruhigen Minute mal nachholen =)

Grüße,
Chris
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
725
Punkte für Reaktionen
15
Punkte
44
Hattest du denn mal die eine oder andere Minute um dich mal um das Display zu kümmern?

DAS würde mich echt SEHR interessieren...
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Sehr schöne Anleitung. Kommt genau zum richtigen Zeitpunkt,
will nämlich den MPD auch auf meiner neuen DS installieren.

Zum Thema Fernbedienung noch ein kleiner Tip.
Wer ein Android Smartphone sein eigen nennt kann sich die App DroidMPD oder PMix auf seinem
Handy installieren, man kann dann über WLan den MPD steurn und hat vollen Zugriff auf seine Musiksammlung :)
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
725
Punkte für Reaktionen
15
Punkte
44
OK, das mit den Android Apps war dann für mich der Punkt der mich zur Installation bewegt hat.

Per IPKG habe ich alles installiert, aber ich finde die Config nicht, selbst nachdem ich MPD mal gestartet habe, bei beiden Pfade in der Original-Anleitung ist nichts zu finden.

Du hast ja in der Startdatei (welche hast du genommen?) einen ganz anderen Pfad angegeben ("mpd /opt/etc/mpd.conf"), aber auch dort liegt nichts.
 

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi,

@wilddog:
PMix nutze ich auch. Aber zumindest mit meiner Musiksammlung ist das dort recht träge, wenn ich zB die Interpretenliste öffne oder bei ner längeren Wiedergabeliste in selbige rein gehe. Das kann dann schonmal 20 Sekunden dauern ;)

@Christian:
Was meinst du mit welche Startdatei hab ich benutzt?
Ansonsten kannst du die Datei mit "find / -name mpd.conf" finden. Vielleicht legt aber das IPKG-Paket gar keine Config per default an (zumindest mein Paket scheint keine Conf-Datei zu haben). Was es definitiv geben sollte ist eine Beispieldatei, zu finden per "ipkg files mpd". Bei mir heist diese "/opt/share/doc/mpd/mpdconf.example".

Grüße,
Chris
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
725
Punkte für Reaktionen
15
Punkte
44
Was meinst du mit welche Startdatei hab ich benutzt?
Ansonsten kannst du die Datei mit "find / -name mpd.conf" finden. Vielleicht legt aber das IPKG-Paket gar keine Config per default an (zumindest mein Paket scheint keine Conf-Datei zu haben). Was es definitiv geben sollte ist eine Beispieldatei, zu finden per "ipkg files mpd". Bei mir heist diese "/opt/share/doc/mpd/mpdconf.example".
OK, die Beispieldatei habe ich gefunden, umbenannt, an die bei dir genannte Stelle verschoben und den "audio" Eintrag angepasst.
Bei "music_directory" habe ich "music_directory "/volume1/music" angegeben, ist das richtig? Also zumindest ligt meine Musik ja da.
Das Verzeichnis für die Playlisten habe ich wie in der Anleitung angegeben angelegt.

Danach habe ich das Programm mit "mpd /opt/etc/mpd.conf" gestartet, es kommt auch keine (Fehler-)Meldung.

Dann habe ich am Handy "Droid MPD" gestartet, meinen Server angelegt aber er findet nichts, auch wenn ich auf "Ordner" gehe.

Wo könnte mein Fehler noch liegen?
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.156
Punkte für Reaktionen
402
Punkte
393
Hallo,
evtl. hilft die Datenbank neu zu bauen.
Rich (BBCode):
mpd --create-db /opt/etc/mpd.conf

Gruß Götz
 

Christian72D

Benutzer
Mitglied seit
29. Apr 2010
Beiträge
725
Punkte für Reaktionen
15
Punkte
44
Dann kommt bei mir folgendes:
Rich (BBCode):
DiskStation> mpd --create-db /opt/etc/mpd.conf
listen: Failed to listen on *:6600: Address already in use
Aborted (core dumped)
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.156
Punkte für Reaktionen
402
Punkte
393
Hallo,
vorher den bereits laufenden mpd killen
Rich (BBCode):
killall mpd
und dann nochmal.

Gruß Götz
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
@christian
hallo christian,

die meldung kommt weil du mpd schon gestartet hast. versuchs mal nur mit mpd --create-db.

@alloc
ja, das mag ja sein das das etwas dauert, aber dann sehe ich wenigstens was grad läuft und
ich kann auch in der küche sitzen und den mpd steuern.
ansonsten benutze ich noch phpmp2 auf nem laptop der eh immer an ist ;-)
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
so, nachdem es bei mir auch auf der neuen DS funzt möchte ich hier mal meine config Datei zur verfügung stellen.
Vorausgesetzt wird ein Ordner .mpd und .mpd/playlists im Verzeichniss /volume1/music mit entsprechenden scheibrechten für mpd

# An example configuration file for MPD
# See the mpd.conf man page for a more detailed description of each parameter.

######################## REQUIRED PATHS ########################
music_directory "/volume1/music"
playlist_directory "/volume1/music/.mpd/playlists"
db_file "/volume1/music/.mpd/mpd.db"
log_file "/volume1/music/.mpd/.mpd.log"
error_file "/volume1/music/.mpd/mpd.error"
################################################################


######################## OPTIONAL PATHS ########################
#
# If you wish to use mpd --kill to stop MPD, then you must
# specify a file here in which to store MPD's process ID.
#
pid_file "/volume1/music/.mpd/mpd.pid"
#
# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
#state_file "/var/mpd/mpdstate"
#
################################################################


######################## DAEMON OPTIONS ########################
#
# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
#
#user "nobody"
#
# The address and port to listen on.
#
#bind_to_address "localhost"
#port "6600"
#
# Controls the amount of information that is logged. Can be
# "default", "secure", or "verbose".
#
#log_level "default"
#
################################################################


########################### ZEROCONF ###########################
#
# If yes, service information will be published with Zeroconf.
#
#zeroconf_enabled "yes"
#
# The service name to publish. This name should be unique on
# your local network.
#
#zeroconf_name "Music Player"
#
################################################################


########################## PERMISSIONS #########################
#
# MPD can require that users specify a password before using it.
# You may specify one ore more here, along with what users who
# log in with that password are allowed to do.
#
#password "password@read,add,control,admin"
#
# Specifies what permissions a user who has not logged in with a
# password has. By default, all users have full access to MPD
# if no password is specified above, or no access if one or
# more passwords are specified.
#
#default_permissions "read,add,control,admin"
#
################################################################


########################## AUDIO OUTPUT ########################
#
# MPD supports many audio output types, as well as playing
# through multiple audio outputs at the same time. You can
# specify one or more here. If you don't specify any, MPD will
# automatically scan for a usable audio output.
#
# See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs>
# for examples of other audio outputs.
#
##############NAS02 DS211+ Settings ##########################
audio_output {
type "oss"
name "OSS Audio"
device "/dev/dsp4"
mixer_type "oss"
mixer_device "/dev/mixer4"
mixer_control "PHONEOUT"
}
# An example of an ALSA output:
#
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "dev=dsp4" # optional
# format "plug:dmix" # optional
#}
#
# An example of an OSS output:
#
#audio_output {
# type "oss"
# name "DSP4 OSS Device"
# device "/dev/dsp4" # optional
# format "44100:16:2" # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
# type "shout"
# name "My Shout Stream"
# host "localhost"
# port "8000"
# mount "/mpd.ogg"
# password "hackme"
# quality "5.0"
# bitrate "128"
# format "44100:16:1"
# user "source" # optional
# description "My Stream Description" # optional
# genre "jazz" # optional
# public "no" # optional
#}
#
# Force all decoded audio to be converted to this format before
# being passed to the audio outputs.
#
#audio_output_format "44100:16:2"
#
# If MPD has been compiled with libsamplerate support, this
# specifies the sample rate converter to use. Possible
# values can be found in the mpd.conf man page or the
# libsamplerate documentation.
#
#samplerate_converter "Fastest Sinc Interpolator"
#
################################################################


############################# MIXER ############################
#
# MPD needs to know what mixer settings to change when you
# adjust the volume. If you don't specify one here, MPD will
# pick one based on which ones it was compiled with support for.
#
# An example for controlling an ALSA mixer:
#
#mixer_type "oss"
#mixer_device "dsp4"
#mixer_control "Speaker"
#
# An example for controlling an OSS mixer:
#
#mixer_type "oss"
#mixer_device "/dev/mixer4"
#mixer_control "Speaker"
#
# If you want MPD to adjust the volume of audio sent to the
# audio outputs, you can tell it to use the software mixer:
#
#mixer_type "software"
#
################################################################


######################### NORMALIZATION ########################
#
# Specifies the type of ReplayGain to use. Can be "album" or
# "track". ReplayGain will not be used if not specified. See
# <http://www.replaygain.org> for more details.
#
#replaygain "album"
#
# Sets the pre-amp used for files that have ReplayGain tags.
#
#replaygain_preamp "0"
#
# Enable on the fly volume normalization. This will cause the
# volume of all songs played to be adjusted so that they sound
# as though they are of equal loudness.
#
#volume_normalization "no"
#
################################################################


########################### BUFFERING ##########################
#
# The size of the buffer containing decoded audio. You probably
# shouldn't change this.
#
#audio_buffer_size "2048"
#
# How much of the buffer to fill before beginning to play.
# Increase this if you hear skipping when changing songs.
#
#buffer_before_play "10%"
#
# Similar options for the HTTP stream buffer. If you hear
# skipping while playing HTTP streams, you may wish to increase
# these.
#
#http_buffer_size "128"
#http_prebuffer_size "25%"
#
################################################################


########################### HTTP PROXY #########################
#
# Specifies the HTTP proxy to use for playing HTTP streams.
#
#http_proxy_host "proxy.isp.com"
#http_proxy_port "8080"
#http_proxy_user "user"
#http_proxy_password "password"
#
################################################################


############################# LIMITS ###########################
#
# These are various limits to prevent MPD from using too many
# resources. You should only change them if they start
# restricting your usage of MPD.
#
#connection_timeout "60"
#max_connections "5"
#max_playlist_length "16384"
#max_command_list_size "2048"
#max_output_buffer_size "8192"
#
################################################################


###################### CHARACTER ENCODINGS #####################
#
# If file or directory names do not display correctly, then you
# may need to change this. In most cases it should be either
# "ISO-8859-1" or "UTF-8". You must recreate your database
# after changing this (use mpd --create-db).
#
filesystem_charset "UTF-8"
#
# The encoding that ID3v1 tags should be converted from.
#
#id3v1_encoding "ISO-8859-1"
#
################################################################


######################### OTHER OPTIONS ########################
#
# Try disabling this if you have MP3s which appear to end
# abruptly. If this solves the problem, it is highly
# recommended that you fix your MP3s with vbrfix (available from
# <http://www.willwap.co.uk/Programs/vbrfix.php>), at which
# point you can re-enable support for gapless MP3 playback.
#
#gapless_mp3_playback "yes"
#
# Enable this if you wish to use your MPD created playlists in
# other music players.
#
#save_absolute_paths_in_playlists "no"
#
# A list of tag types that MPD will scan for and make available
# to clients.
#
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
#
################################################################
 

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi wilddog,

auf die Idee hätte ich natürlich auch schonmal kommen können ;)
Allerdings hab ich zu der Konfig noch zwei Anmerkungen:

# If started as root, MPD will drop root privileges and run as
# this user instead. Otherwise, MPD will run as the user it was
# started by. If left unspecified, MPD will not drop root
# privileges at all (not recommended).
#
#user "nobody"
Wie in dem Kommentar der Option steht, sollte diese gesetzt werden. Das "nobody" dürfte auch passen, zumindest bei meiner DS existierte der Nutzer.

# If specified, MPD will save its current state (playlist,
# current song, playing/paused, etc.) at exit. This will be
# used to restore the session the next time it is run.
#
#state_file "/var/mpd/mpdstate"
Würde ich generell setzen. Kostet nichts, schadet aber auch nicht ;)
Allerdings dann natürlich auch nach "/volume1/music/.mpd/state" oder ähnliches.

Grüße,
Chris
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
@alloc
danke für die tips, gleich noch umgesetzt ;-)
wie weit bist du denn damit ein display über usb anzuschliessen ?

@all
hab das ganze mal bei mir auf der DS211+ mit nem alten Palm + PalmOrb und lcd4linux ausprobiert, aber irgendwie bekomme ich
nicht das richtige device raus um es in der config einzutragen. unter windoof funzt das ganze schon mal.

hier meine lcd4linux.conf
# Display Section
Display PalmOrb {
Driver 'MatrixOrbital'
Model 'LK204-25'
Port '/dev/usb/hiddev8'
Speed 19200
Icons 0
}


# Widget Section
Widget RAM {
class 'Text'
expression meminfo('MemTotal')/1024
postfix ' MB RAM'
width 11
precision 0
align 'R'
update tick
}


# Layout Section


Layout Default {
Row1 {
Col1 'RAM'
}
# Row2 {
# Col1 'Load'
# Col11 'LoadBar'
# }
# Timer1 'PollFan'
# GPO1 'ISDN_connected'
}

# Variables Section

Variables {
tick 500
}

Display 'PalmOrb'
Layout 'Default'


und einen auszug aus meinem system log

Aug 23 21:16:30 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:16:30 hotplugd: ##### ACTION:add
Aug 23 21:16:30 hotplugd: DEVICE:/proc/bus/usb/001/008
Aug 23 21:16:30 hotplugd: DEVPATH:1-1.3
Aug 23 21:16:30 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:30 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:16:30 hotplugd: ##### ACTION:add
Aug 23 21:16:30 hotplugd: DEVICE:/proc/bus/usb/001/008
Aug 23 21:16:30 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:16:30 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:30 hotplugd: INTERFACE:255/0/0
Aug 23 21:16:30 hotplugd: hotplugd.c:642 ##### complete device hotplug!!
Aug 23 21:16:31 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:16:31 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:16:32 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/008
Aug 23 21:16:32 hotplugd: hotplugd.c:826 failed get usb device id from kernel, DEVICE=/proc/bus/usb/001/008
Aug 23 21:16:32 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:16:32 hotplugd: ##### ACTION:remove
Aug 23 21:16:32 hotplugd: DEVICE:/proc/bus/usb/001/008
Aug 23 21:16:32 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:16:32 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:32 hotplugd: INTERFACE:255/0/0
Aug 23 21:16:32 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:16:32 hotplugd: ##### ACTION:remove
Aug 23 21:16:32 hotplugd: DEVICE:/proc/bus/usb/001/008
Aug 23 21:16:32 hotplugd: DEVPATH:1-1.3
Aug 23 21:16:32 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:38 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:16:38 hotplugd: ##### ACTION:add
Aug 23 21:16:38 hotplugd: DEVICE:/proc/bus/usb/001/009
Aug 23 21:16:38 hotplugd: DEVPATH:1-1.3
Aug 23 21:16:38 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:38 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:16:38 hotplugd: ##### ACTION:add
Aug 23 21:16:38 hotplugd: DEVICE:/proc/bus/usb/001/009
Aug 23 21:16:38 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:16:38 hotplugd: SUBSYSTEM:usb
Aug 23 21:16:38 hotplugd: INTERFACE:255/0/0
Aug 23 21:16:38 hotplugd: hotplugd.c:642 ##### complete device hotplug!!
Aug 23 21:16:58 LCD4Linux[30581]: lcd4linux already running as process 29827
Aug 23 21:19:36 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:19:36 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:19:37 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/009
Aug 23 21:19:37 hotplugd: hotplugd.c:826 failed get usb device id from kernel, DEVICE=/proc/bus/usb/001/009
Aug 23 21:19:37 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:19:37 hotplugd: ##### ACTION:remove
Aug 23 21:19:37 hotplugd: DEVICE:/proc/bus/usb/001/009
Aug 23 21:19:37 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:19:37 hotplugd: SUBSYSTEM:usb
Aug 23 21:19:37 hotplugd: INTERFACE:255/0/0
Aug 23 21:19:37 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:19:37 hotplugd: ##### ACTION:remove
Aug 23 21:19:37 hotplugd: DEVICE:/proc/bus/usb/001/009
Aug 23 21:19:37 hotplugd: DEVPATH:1-1.3
Aug 23 21:19:37 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:32 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:22:32 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:22:33 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:22:33 hotplugd: ##### ACTION:add
Aug 23 21:22:33 hotplugd: DEVICE:/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: DEVPATH:1-1.3
Aug 23 21:22:33 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:33 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:519 Get usb id failed, DEVICE=/proc/bus/usb/001/010, error=No such file or directory
Aug 23 21:22:33 hotplugd: hotplugd.c:1166 failed to setup usb config, (DEVPATH, DEVICE, ACTION, DEVNAME, INTERFACE)=(1-1.3, /proc/bus/usb/001/010, add, , )
Aug 23 21:22:33 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:826 failed get usb device id from kernel, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:834 failed get usb device id from usb config, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:22:33 hotplugd: ##### ACTION:add
Aug 23 21:22:33 hotplugd: DEVICE:/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:22:33 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:33 hotplugd: INTERFACE:255/0/0
Aug 23 21:22:33 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:519 Get usb id failed, DEVICE=/proc/bus/usb/001/010, error=No such file or directory
Aug 23 21:22:33 hotplugd: hotplugd.c:1166 failed to setup usb config, (DEVPATH, DEVICE, ACTION, DEVNAME, INTERFACE)=(1-1.3:1.0, /proc/bus/usb/001/010, add, , 255/0/0)
Aug 23 21:22:33 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:826 failed get usb device id from kernel, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:834 failed get usb device id from usb config, DEVICE=/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:22:33 hotplugd: ##### ACTION:remove
Aug 23 21:22:33 hotplugd: DEVICE:/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:22:33 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:33 hotplugd: INTERFACE:255/0/0
Aug 23 21:22:33 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:22:33 hotplugd: ##### ACTION:remove
Aug 23 21:22:33 hotplugd: DEVICE:/proc/bus/usb/001/010
Aug 23 21:22:33 hotplugd: DEVPATH:1-1.3
Aug 23 21:22:33 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:37 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:22:37 hotplugd: ##### ACTION:add
Aug 23 21:22:37 hotplugd: DEVICE:/proc/bus/usb/001/011
Aug 23 21:22:37 hotplugd: DEVPATH:1-1.3
Aug 23 21:22:37 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:37 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:22:37 hotplugd: ##### ACTION:add
Aug 23 21:22:37 hotplugd: DEVICE:/proc/bus/usb/001/011
Aug 23 21:22:37 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:22:37 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:37 hotplugd: INTERFACE:255/0/0
Aug 23 21:22:37 hotplugd: hotplugd.c:642 ##### complete device hotplug!!
Aug 23 21:22:50 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:22:50 scemd: modules/usbcopy.c:74 USBCamCopy - Unknown Signal: 41
Aug 23 21:22:51 hotplugd: usb_get_device_id.c:49 Get usb info failed, DEVICE=/proc/bus/usb/001/011
Aug 23 21:22:51 hotplugd: hotplugd.c:826 failed get usb device id from kernel, DEVICE=/proc/bus/usb/001/011
Aug 23 21:22:51 hotplugd: hotplugd.c:972 match rule 99!!
Aug 23 21:22:51 hotplugd: ##### ACTION:remove
Aug 23 21:22:51 hotplugd: DEVICE:/proc/bus/usb/001/011
Aug 23 21:22:51 hotplugd: DEVPATH:1-1.3:1.0
Aug 23 21:22:51 hotplugd: SUBSYSTEM:usb
Aug 23 21:22:51 hotplugd: INTERFACE:255/0/0
Aug 23 21:22:51 hotplugd: hotplugd.c:952 match rule 1!!
Aug 23 21:22:51 hotplugd: ##### ACTION:remove
Aug 23 21:22:51 hotplugd: DEVICE:/proc/bus/usb/001/011
Aug 23 21:22:51 hotplugd: DEVPATH:1-1.3
Aug 23 21:22:51 hotplugd: SUBSYSTEM:usb
Aug 23 21:25:38 LCD4Linux[31453]: MatrixOrbital: tcgetattr(/dev/usb/hiddev8) failed: Invalid argument

hoff es kann mir jemand weiterhelfen.

gruß
wilddog
 

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi wilddog,

wie weit bist du denn damit ein display über usb anzuschliessen ?
nicht wirklich weiter, da mir einfach noch die Zeit für solche Spielereien fehlt (zur Zeit Bachelorthesis und nen Job, da ist das eng ;) ).

hab das ganze mal bei mir auf der DS211+ mit nem alten Palm + PalmOrb und lcd4linux ausprobiert, aber irgendwie bekomme ich
nicht das richtige device raus um es in der config einzutragen. unter windoof funzt das ganze schon mal.
Das Problem dürfte hier sein, dass sich der Palm sicher nicht als HID (Human Interface Device, das sind Ein-/Ausgabegeräte wie Mäuse, Tastaturen, Joysticks) beim System meldet, also auch kein "hiddev*".

Wenn man nicht direkt auf das USB-Gerät zugreift (so wie bei mir zB., ich greife direkt auf das USB-Device per libusb zu, da muss der Kernel nur das Gerät enumerieren, aber keine weiteren Treiber besitzen) dürfte es generell schwierig werden, da die Kernel der DS doch recht eingeschränkt sind. Du könntest probieren die nötigen Module selber zu kompilieren, aber das ist dann schon ein gewisser Aufwand. Eventuell müsstest du dann sogar noch so Späße machen wie Devicenodes anlegen. Zu den beiden Themen gibts hier im Forum glaub aber auch schon Threads.

Grüße,
Chris
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
hi alloc,

joa...das mit dem hiddev war auch nur so ein schuss ins blaue. vorgabe für den port ist /dev/usb/tts/0, unter debian hab ich es ans laufen bekommen mit
dem port /dev/ttyUSB1.

ich teste mal weiter und berichte dann hier :)

gruß wilddog
 

Alloc

Benutzer
Mitglied seit
19. Nov 2009
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
unter debian hab ich es ans laufen bekommen mit dem port /dev/ttyUSB1.
Genau sowas hab ich erwartet. ttyUSB heisst, dass dort irgendwo ein USB->Seriell-Adapter im Spiel ist, der immer einen Treiber (aka Kernelmodul) erfordert. Diese sind bei den DS-Kerneln nicht von Haus aus mit eingebunden. Also entweder musst du eine Möglichkeit finden, dass Gerät direkt anzusteuern (unwahrscheinlich, wenn du auf bestehende Programme zurückgreifen willst), oder du musst dir zum DS-Kernel die entsprechenden Module nachkompilieren.

Grüße,
Chris
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
Hallo Chris,

ich hab inzwischen herausgefunden das ich für den Palm das Kernel-Modul "Visor" benötige und das ich es wohl selbst auf der NAS compilieren muss.
Mal schauen ob ich es hinbekomme :) Wundert mich eigentlich das es noch keiner versucht/geschafft hat ein Display an der NAS anzuschliessen...

In diesem Sinne..

Gruß
Harald
 

wilddog1806

Benutzer
Mitglied seit
08. Nov 2009
Beiträge
52
Punkte für Reaktionen
0
Punkte
6
ich nochmal...hab da grad net ganz blöde idee ;-)
würde das ganze mit chroot funzen ? also ein debian chrooten und darin den palm mit lcd4linux betreiben ?

gruß Harald
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat