[ANNOUNCE] Alphacool LCD Display serdisplib Support

  • Zitat

    Original von fen
    arbeitest du als root oder als user - nur so eine idee...


    sowohl als auch ;). Habe "src/testserdisp" zunächst als user gestartet und nach dem Fehlschlag auch mit rootrechten!
    Ich versuche jetzt nocheinmal in Ubuntu 7.10 Alpha mein Glück... (da ist libusb schon in der neuen Version vorinstalliert).

  • Ich gebs für heute auf. Es kommt mir schon sehr komisch vor, dass ich keine
    korrekte lsusb Ausgabe bekomme. Bevor ich nun mein komplettes Ubuntu zerlege
    lade ich mir mal eine Live-CD einer anderen Distribution runter und teste, ob da das
    LCD über lsusb erkannt wird. Welche Distribution (+Version) verwendest du, fen?


    Ich melde mich dann wieder, wenns was Neues gibt ;)
    Danke für deine Hilfe, fen!

  • Hallo...
    nur so als Info:
    das mit dem Network Manager ist, glaub ich, normal. Der hal-Dämon (Hardware Abstraction Layer, oder so) bekommt mit, wenn ne neue Hardware aktiviert wird und sendet eine Nachricht über d-bus. Der Network Manager lauscht nun auf Nachrichten, um evtl. ein neues Netzwerkgerät zu aktivieren. Wenn das neue Gerät keine Netzwerkgerät ist, kümmert sich der Network Manager nicht weiter drum. Ne Meldung gibt er aber trotzdem noch aus. Bei mir macht der das auch bei der Eyetoy Webcam :) Ansonsten kannst ja mal den hal-Dämon beenden, nicht, dass der dazwischen funkt...


    MfG,
    artemis

  • ...mir ist aufgefallen, dass das LCD jedesmal disconnected wird, wenn ich lsusb
    aufrufe. Es wird aber sofort wieder unter einer neuen adresse erkannt.


    Ein dmesg Auszug sieht dann so aus:


    Das kann ja auch nicht normal sein! Ich verstehe noch immer nicht, warum das LCD in /proc
    angezeigt wird, aber lsusb das Gerät nicht erkennt.

  • Mir ist gerade noch etwas aufgefallen...
    Der Auszug (/proc/bus/usb/devices) von fen zeigt, dass sein LCD "usbfs"
    als Treiber zugeordnet bekommt. Bei mir steht als Treiber allerdings "(none)"
    Das dürfte auch der Grund sein, warum lsusb das LCD nicht anzeigt.
    Die entsprechenden Auszüge:

    Code
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbfs
    E:  Ad=03(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbfs


    Code
    I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E:  Ad=03(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
    I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)


    Wie kann man diesen "Driver" zuordnen? Über eine udev-Rule?

  • usbfs ist das pseudo filesystem für /proc/bus/usb und ist gemountet:


    Code
    mediabox ~ # mount
    /dev/sda6 on / type ext3 (rw,noatime)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
    udev on /dev type tmpfs (rw,nosuid)
    devpts on /dev/pts type devpts (rw,nosuid,noexec)
    /dev/sda7 on /video type xfs (rw,noatime)
    shm on /dev/shm type tmpfs (rw,noexec,nosuid,nodev)
    usbfs on /proc/bus/usb type usbfs (rw,noexec,nosuid,devmode=0664,devgid=85)


    hier ist alles, was in meiner kernel config fuer usb aktiv ist:


  • Die config sieht ok aus. Die entsprechenden Einträge habe ich bei mir auch.


    fen, könntest du mal deinen Output von usbmodules (lcd device) posten?
    Bei meiner USB-Maus bekomme ich folgendes:

    Code
    $ usbmodules --device /proc/bus/usb/003/002 
    usbmouse
    usbhid
    xpad


    Bei meinem LCD:

    Code
    $ usbmodules --device /proc/bus/usb/001/022 
    Cannot open /proc/bus/usb/001/022


    Jedesmal, wenn ich versuche auf das USB-Device vom LCD zuzugreifen, wird es disconnected
    und unter einer neuen Device# aktiviert!

  • keine driver attached...


  • Dann weiß ich jetzt nicht weiter! Habe auch schon von einer openSuse Live-CD
    gebootet und das geliche Problem gehabt, dass das Gerät mit lsusb nicht angezeigt wird.
    Ist doch komisch, dass das LCD erkannt wird, aber kein Zugriff möglich ist.

  • Update:
    Ich habe noch einmal kurz opensuse gestartet und festgestellt, dass ich auf das LCD zugreifen kann!
    Leider wird meine WLAN-Karte nicht erkannt, so dass ich die nötigen Pakete nicht
    runterladen kann, um serdisplib zu testen. Aber ich gehe davon aus, dass es gehen würde.
    Es scheint sich also um ein Ubuntu spezifisches Problem zu handeln.
    Jetzt ist die Frage, ob es am Kernel oder an Udev oder sonst irgendwas liegt. Evtl. werde
    ich später mal selbst den Kernel kompilieren und das ganze dann nocheinmal testen.

  • Zitat

    Original von fen
    warum wurde es denn beim ersten booten von der opensuse cd auch niucht angezeigt? hast dafür eine erklärung, oder ist es einfach erst beim zweiten booten gegangen? funktioniert es jetzt bei jedem bootvorgang?


    Das war ein Benutzerfehler meinerseits. Die usbutils sind standardmäßig nicht installiert.
    Ich hatte die Ausgabe der USB Devices falsch interpretiert.


    Aber durch den Vergleich der Kernelconfig von Opensuse mit Ubuntu habe ich evtl. das Problem gefunden! Sowohl in deiner gentoo config, als auch in der suse config war das USB_SUSPEND nicht vorhanden. Ich habe in der Vergangenheit schon öfters von Problemen in diesem Zusammenhang gelesen (Scanner, Drucker ...). libusb unterstützt diese Kernelfunktion noch nicht!
    Momentan bin ich gerade dabei den Kernel ohne diesen Parameter neu zu kompilieren.

  • Problem gelöst!!! :grinzs :cool1


    Es hat tatsächlich an USB_SUSPEND gelegen!
    In der Kernelconfig habe ich einfach den Parameter "CONFIG_USB_SUSPEND" auf "n" gesetzt und den Kernel neu kompiliert... und siehe da: lsusb findet das LCD und es funktioniert auch mit serdisplib!
    Es wäre natürlich einfacher gewesen, wenn es einen Patch für libusb geben würde ;)


    Nochmal Danke für deine Hilfe, fen! Stehst du eigentlich mit Alphacool in Kontakt? Falls nicht, werde ich denen mal ne Mail schicken, dass USB_SUSPEND in Linux deaktiviert werden muss! Bei Ubuntu ist dieses Feature seit der Version 7.04 standardmäßig aktiviert.

  • hallo


    fen hat mich auf diesen thread aufmerksam gemacht (lese in der regel nur ab kategorie 'LCDs').


    das mit lsusb ist sehr interessant.
    das erklaert jetzt vielleicht auch, wieso im nicht-xen kernel von fedora 7 meine digicam NICHT erkannt wird (2.6.22, CONFIG_USB_SUSPEND=y) und im xen-kernel schon (2.6.20, kein CONFIG_USB_SUSPEND entry im config). beides sind unmodifizierte fedora7 distributionskernel.


    auch das c't-includ usb display wird erkannt im xen-kernel. bin mir fast sicher, dass es im nicht-xen-kernel dann nicht erkannt werden wird (will aber derzeit nicht rebooten).


    eines ist auf keinen fall praktikabel: den benutzer den kernel neu kompilieren zu lassen. _das_ kann keine loesung sein.


    vielmehr muss nach einem weg gesucht werden, dass das ganze auch mit dem SUSPEND-zeug geht (glaube kaum, dass es zur zufriedenheit beitragen wuerde, wenn moderne distris keine usb-kameras mehr erkennen wie bei mir - ich schaetze, dass ich hier nur irgendwas nicht gestartet habe (aber dzt. zu faul bin, danach zu suchen ))
    die entwicklung der libray findet ohnedies auf einem fedora core 5 system statt. und da ist das USB_SUSPEND nicht gesetzt (# CONFIG_USB_SUSPEND is not set)


    /wastl

  • das mit CONFIG_USB_SUSPEND scheint ja ein groeberes problem zu sein (in letzter zeit nervt linux manchmal nur noch - und das sage ich als langjaehriger linuxanwender - aber was im 2.6-kernel verbrochen wird traegt nicht mehr wirklich zum einst guten ruf von linux bei. das usb-problem ist ja bei weitem nicht das einzige problem in 2.6.x ...)


    habe hier:
    http://forums.fedoraforum.org/…e/index.php/t-157137.html
    etwas gefunden, das um einiges einfacher zu realisieren ist als ein kernel-recompile:


    Zitat

    WORKAROUND: My ML-2010 printer now works (no more disconnects) after adding
    "usbcore.autosuspend=0" (without the quotes) to the kernel command line in
    /etc/grub.conf


    This will work with any current Fedora 7 kernel. Future Fedora 7 kernels will have usb autosuspend turned off by default.


    das wird wohl auch bei anderen distributionen funktionieren.


    koennte das bitte jmd. testen?


    /wastl

  • Ich bin auch kein Freund des Kernel-kompilierens. Bevor ich den Kernel neu kompiliert habe, habe ich auch launchpad und die entsprechenden Ubuntu Foren nach einem Workaround durchsucht. Ich war dabei auch auf den Eintrag "usbcore.autosuspend=0" in der menu.lst (grub Konfiguration) gestoßen und habe das auch getestet. Ohne Erfolg!
    Evtl. löst das nur für manche Geräte das Problem. Ich habe auch gelesen, dass das garnichts bringen würde. In Ubuntu 7.10 (Gutsy) soll es möglich sein über entsprechende Einträge in /sys/bus/usb/... das Suspendverhalten zu steuern. Soweit ich weiß funktioniert das aber noch nicht!
    Ich bin kein Developer und habe daher auch kein genaueres Hintergrundwissen. Aber soweit ich das sehe wäre der einfachste Weg, wenn die libusb Entwickler die entsprechende Kompatiblität schaffen würden. Die Sane (Scanner Backend) Entwickler haben mittlerweile ein Workaround in ihre libs eingebaut.


    Das interessante ist ja, dass nicht jedes USB Gerät betroffen ist. Ich hatte während der Ubuntu 7.04 Entwicklung vor allem von Problemen bei Scannern gehört. Bis Dato hatte ich auch noch keine Probleme mit USB Geräten (Scanner, Maus, Tastatur, USB-Sticks, USB-Festplatten...).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!