Zoomfloppy und opencbm/debian Problem

    • Offizieller Beitrag

    Hallo!


    Ich möchte mit meiner neuen Zoomfloppy Futter für meinen CBM 720 übertragen.


    Habe testweise eine 1541 angeschlossen.


    OpenCBM installiert (Version 0.4.2) mittels apt-get install opencbm, folgendes repository verwendet:
    deb http://www.fbriere.net/debian wheezy opencbm


    Leider bekomme ich immer die Fehlermeldung:


    stephan@box1:~$ cbmctrl status 8
    cbmctrl: /dev/cbm: No such file or directory


    Es gibt keine Datei /dev/cbm, auch ist kein Modul "cbm" in lsmod sichtbar, ich kann es auch nicht mit "modprobe cbm" laden, weil es
    nicht auf meinem Rechner exisitiert.


    Das USB Device wird gefunden, dmesg liefert:


    [ 1424.680063] usb 5-2: USB disconnect, device number 3
    [ 1427.432021] usb 5-2: new full-speed USB device number 4 using uhci_hcd
    [ 1427.629406] usb 5-2: New USB device found, idVendor=16d0, idProduct=0504
    [ 1427.629412] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 1427.629416] usb 5-2: Product: xum1541 floppy adapter (ZOOMFLOPPY)
    [ 1427.629419] usb 5-2: Manufacturer: Nate Lawson and OpenCBM team
    [ 1427.629423] usb 5-2: SerialNumber: 000




    Hat jemand schonmal erfolgreich OpenCBM auf Linux/debian zum laufen bekommen?



    Danke,
    Gruß S.

  • Ich denke, Du hast ein Rechteproblem.
    Kannst Du das mal mit root-Rechten ausprobieren?


    Wahrscheinlich musst due die udev-rules anpassen, damit auch der User das Device sehen und nutzen kann.


    Hilfe findest Du hier: http://opencbm.trikaliotis.net/opencbm-9.html und wenn dein Debian aktuell ist, sollte das hier (von eben genannter Quelle) am hilfreichsten sein:
    If you are using udev (newer 2.6.x kernels) instead, you have to modify the file /etc/udev/rules.d/45-opencbm-parallel.rules. It looks like follows:


    Code
    ACTION!="add", GOTO="opencbm_plugin_xa1541_rules_end"
    
    
        # xa1541/xm1541 parallel port driver
        KERNEL=="cbm", GROUP="root", MODE="0666"
    
    
        LABEL="opencbm_plugin_xa1541_rules_end"



    To change the group to another one, change the part `root' in `GROUP="root"' by the name of the group you want to use. To change the access mode, change `MODE="0666"' to `MODE="0660"', so your files looks like:


    Code
    ACTION!="add", GOTO="opencbm_plugin_xa1541_rules_end"
    
    
        # xa1541/xm1541 parallel port driver
        KERNEL=="cbm", GROUP="cbmuser", MODE="0660"
    
    
        LABEL="opencbm_plugin_xa1541_rules_end"



    For your changes to take effect, issue


    Code
    $ rmmod cbm
         $ modprobe cbm



    You might also want to adjust the file `sys/linux/45-opencbm-parallel.rules', which is used when installing the OpenCBM driver out of the source package.


    Gruss
    Thomas

    -------------------------------------------------------------------------------------------------------------------


    Ich bin immer auf der Suche nach Ersatzteilen und Elekronikrestposten.
    Bitte an mich denken, wenn Ihr über Angebote stolpert!

    • Offizieller Beitrag

    Dankesehr für die Antwort.
    Das wars leider nicht, auch als root kein Erfolg.


    Da ich keinen dedizierten Kernal kompiliert habe, vermute ich, daß ich ein Modul "cbm" benötige. Dies ist aber leider nicht da:


    root@box1:/home/stephan# modprobe cbm
    FATAL: Module cbm not found.


    Weisst Du vielleicht, wie ich das erzeuge? Mich wundert, daß im apt-Archiv keines drin war.


    Viele Grüße
    Stephan

  • Also ich habe es jetzt auf meinen xubuntu nach dieser Anleitung installiert: http://www.trikaliotis.net/debian
    Das ist auf jeden Fall eine andere Paketquelle und ich habe nun auch kein /dev/cbm, aber die Zoomfloppy wird bei "cbmctrl status 8" erkannt und meldet "99, drive error,00,00". Da ich aber gar kein Device angeschlossen habe, ist ja alles Bestens!


    Unter /etc/udev/rules.d habe ich eine Regel 45-opencbm-usb.rules
    Diese Datei regelt, dass cbmctrl auf die Zoomfloppy zugreifen darf. Hast Du die auch?


    Ob udev installiert und laeuft, kannst du mit

    Code
    sudo udevadm info


    testen.
    Bzw.

    Code
    sudo udevadm monitor


    Damit kannst Du sehen, ob udev mitbekommt, wenn du die Zoomfloppy anschliesst.


    Gruss
    Thomas

    -------------------------------------------------------------------------------------------------------------------


    Ich bin immer auf der Suche nach Ersatzteilen und Elekronikrestposten.
    Bitte an mich denken, wenn Ihr über Angebote stolpert!

  • Da die Zoomfloppy ein USB-Gerät ist benötigt es auch nicht unbedingt ein dediziertes Kernalmodul.
    Schau doch mal mit lsusb nach, ob das Device überhaupt erkannt wurde.


    Gruß
    Roman

    Das Genie beherrscht das Chaos

    • Offizieller Beitrag

    Hallo Roman,


    wie muss denn das USB Modul heissen? Bei mir ist die Ausgabe wie folgt:


    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 003: ID 16d0:0504 GrauTec
    Bus 004 Device 002: ID 0a81:0205 Chesen Electronics Corp. PS/2 Keyboard+Mouse Adapter
    Bus 004 Device 003: ID 046d:c045 Logitech, Inc. Optical Mouse
    Bus 005 Device 002: ID 04f9:0027 Brother Industries, Ltd HL-2030 Laser Printer


    Klingt nicht nach Zoomfloppy, oder?

  • Hallo Toshi,


    doch

    Code
    Bus 005 Device 003: ID 16d0:0504 GrauTec


    ist laut gidf.de das Zoomfloppy. Ich hab dort auch gleich noch einen Faden aus dem Forum 64 dazu gefunden
    (http://www.forum64.de/wbb3/boa…6-36er-kernel/index2.html).
    Ich denke auch das die Lösung eine entsprechende udev rule ist. Udev legt Dir beim einstecken des USB-Devices einen entsprechenden Eintrag in /dev an, den Du auch
    in dieser Rule mit den passenden Berechtigungen versehen kannst, z.B. mit der Group-ID der Gruppe "Retro" ;)

    Code
    SUBSYSTEM!="usb_device", ACTION!="add", GOTO="opencbm_rules_end"
    
    
    # zoom floppy
    SYSFS{idVendor}=="16d0", SYSFS{idProduct}=="0504", GROUP="retro"
    
    
    LABEL="opencbm_rules_end"

    (s. Post von sebbi, Gruppenname hab ich "korrigiert")


    Viel Glück
    Roman


    PS: Ich hab leider (noch) kein Zoomfloppy,a ber Linux schon ne Weile :D

    Das Genie beherrscht das Chaos

    • Offizieller Beitrag

    Hallo!


    Jetzt wollte ich Eure guten Tips mal auswerten, aber leider komme ich immer noch nicht weiter.


    Udev habe ich (ist installiert):


    stephan@box1:~$ sudo apt-get install udev
    udev ist schon die neueste Version.


    udevadm liefert:


    "sudo udevadm info" liefert:
    missing option


    "sudo udevadm monitor" liefert


    KERNEL[32854.173696] add /devices/pci0000:00/0000:00:1d.3/usb5/5-2 (usb)
    KERNEL[32854.176564] add /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0 (usb)
    UDEV [32854.278783] add /devices/pci0000:00/0000:00:1d.3/usb5/5-2 (usb)
    UDEV [32854.700962] add /devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0 (usb)


    Unter /etc/udev/rules.d habe ich keine Regel 45-opencbm-usb.rules, nur:
    70-persistent-cd.rules 70-persistent-net.rules


    Wie komme ich denn zu der Regel 45 ?


    Vielen Dank schonmal
    S.

    • Offizieller Beitrag

    so, jetzt hab ich von Hand eine Datei erzeugt "45-opencbm.rules" in


    /etc/udev/rules.d


    mit dem Inhalt:


    SUBSYSTEM!="usb_device", ACTION!="add", GOTO="opencbm_rules_end"


    SYSFS{idVendor}=="16d0", SYSFS{idProduct}=="0504", GROUP="users"


    LABEL="opencbm_rules_end"



    Leider liefert


    stephan@box1:~$ cbmctrl status 8



    immer noch


    cbmctrl: /dev/cbm: No such file or directory




    also hab ich wohl wieder was falsch gemacht.... GRR

  • Hallo Stephan,


    man könnte ein Paket (.deb) natürlich so machen, dass es eine entsprechende udev-rule gleich richtig anlegt. Aber leider ist das bei Open Source oft so,
    dass nicht alle Pakete die gleiche Qualität haben - vorallem wenn es für eine kleine Gruppe (uns, Retro-SpiFans) auf verschiedenen Distributionen
    funktionieren soll. Du hast es aber richtig erkannt, die Datei kann man einfach mit einem Texteditor als root erstellen. (In debian gibt es oft *.d Verzeichnisse
    in denen einfach alle Dateien alphabetisch sortiert zu der gesamten Datei zusammengehängt werden: /etc/apt/sources vs /etc/apt/sources.d bspw.)


    Bei USB Devices sollte eigentlich ein ausstecken und wieder einstecken reichen. Dann werden die Regeln neu ausgewertet. Wenn das nicht geht probier:

    Code
    udevadm trigger


    wenn das nicht reicht

    Code
    reload udev


    wenn das immer noch nicht reicht, dann , hmm :nixwiss: Windows-mäßig reboot?


    Paste doch einfach die Datei hierher. Vielleicht ist es bloß ein blöder Vertipper, der Dir selbst nicht auffällt.


    Gruß Roman

    Das Genie beherrscht das Chaos

    • Offizieller Beitrag

    Vielen Dank für Deinen Beitrag, Roman!


    Ich bin immer noch nicht weiter.


    Hab das System mal mit apt-get update/upgrade auf den neuesten Stand gebracht und neu gestartet.


    als root ausgeführt

    "udevadm trigger" gibt keine Ausgabe, aber auch keine Fehlermeldung.


    "reload" gibts auf meinem System nicht.


    Der Inhalt von
    /etc/udev/rules.d
    ist nun


    Code
    -rw-r--r-- 1 root root 159 Jul 26 18:56 45-opencbm.rules
    -rw-r--r-- 1 root root 797 Okt 16  2013 70-persistent-cd.rules
    -rw-r--r-- 1 root root 482 Okt 16  2013 70-persistent-net.rules


    und der Inhalt der Datei 45-.... ist


    Code
    SUBSYSTEM!="usb_device", ACTION!="add", GOTO="opencbm_rules_end"
    
    
    SYSFS{idVendor}=="16d0", SYSFS{idProduct}=="0504", GROUP="users"
    
    
    LABEL="opencbm_rules_end"


    Wenn ich den USB Stecker ziehe und wieder einstecke, leuchtet kurz die blaue LED und die 1541 macht einen RESET.

  • So jetzt hab ich mal in meinen alten eigenen Installationen nachgeschaut. Ich hab so ein komisches ELV-Funkhausautomatisierungsding.
    Das meldet sich normalerweise als /dev/ttyUSBxxx an, damit man es aber richtig identifizieren kann, legt man eine udev rule an, die
    ein alias anlegt und das geht so:

    Code
    KERNEL=="ttyUSB*", ATTRS{product}=="ELV FHZ 1300 PC", SYMLINK+="elv_fhz1300pc"


    Hier wird für ein Device, dass eigentlich als ttyUSB* erkannt wird, ein symbolischer Link mit dem Namen elv_fhz1300pc im Verzeichnis /dev angelegt,
    wenn ein Attribut einen bestimmten Wert hat.
    Eigentlich sollte das Kernel-Module ein Device anlegen.
    Häng doch an die Zeile

    Code
    SYSFS{idVendor}=="16d0", SYSFS{idProduct}=="0504", GROUP="users"


    noch ein

    Code
    , SYMLINK+="cbm"

    an, und wenn das nicht geht, dann probier mal das Device selbst anzulegen, indem Du statt dem SYMLINK ein

    Code
    , NAME="cbm"

    anhängst.

    Das Genie beherrscht das Chaos