DSBMC/DSBMD

Zu DSBMD und Kartenleser-Device

Hallo @marcel

hättest Du Interesse und Zeit, auch noch Kartenleser-Devices über DSBMD mountfähig zu machen?

Das Device heißt bei mir /dev/mmcsd0s1, wenn ich eine fat32 formatierte SD-Karte in den Slot meines ThinkPad R500 schiebe.
Es lässt sich manuell mounten:
Code:
mount -t msdosfs /dev/mmcsd0s1 /mnt

Unter DSBMC taucht es bei mir nicht auf.

Wenn Du weitere Infos brauchst, sag doch einfach Bescheid.

Viele Grüße
Holger


Hallo @holgerw ,

es könnte sein, dass DSBMD das Dateisystem nicht erkennt. Könntest Du bitte mal folgendes tun?:

Code:
% fetch http://freeshell.de/~mk/download/testfs.c
% cc -o testfs testfs.c
% ./testfs -f /dev/mmcsd0s1

Die Ausgabe würde mich interessieren.
 
@cabriofahrer hatte den Wunsch geäußert, dass er gerne die von DSBMD/C eingehängten Datenträger per Dateimanager aushängen möchte. Beim Versuch, dies zu tun stieß er auf ein Berechtigungsproblem. Es erklärt sich so, dass DSBMD zwar sicherstellt, dass das eingehängte Dateisystem vom jeweiligen Benutzer beschrieben werden kann, jedoch wird es als root eingehängt. Es gibt aber gute Nachrichten, denn ich habe nun das Feature des Mountens als Benutzer in DSBMD implementiert. Solange die neue Version noch nicht in den Ports ist, kann der Code schon mal getestet werden:

Code:
% fetch  http://freeshell.de/~mk/download/dsbmd-0.5pre.tgz
% tar xf dsbmd-0.5pre.tgz && cd dsbmd-0.5pre && make
# make install
# cp /usr/local/etc/dsbmd.conf /usr/local/etc/dsbmd.conf.old
# cp dsbmd.conf /usr/local/etc/
# service dsbmd restart

Mit dieser Neuerung macht dann auch erst Automount Sinn. Dazu einfach sysutils/dsbmc-cli installieren, und je nach Umgebung dafür sorgen, dass dsbmc-cli -a automatisch gestartet wird.
 
Es gibt aber gute Nachrichten, denn ich habe nun das Feature des Mountens als Benutzer in DSBMD implementiert.
Derzeit will ich die neue Version gerade nicht testen, aber das macht doch eigentlich schon Sinn! und deshalb bin ich dafür dankbar, auch wenn ich an DSBMC nichts vermisst habe.
Seit längerem denke ich immer wieder über manche der traditionell gewachsenen Unix-Konventionen nach und habe auch viele davon für lange Jahre verteidigt. Dass Netzwerke zur Bootzeit eingestellt werden und nur root das zur Laufzeit (ändern) darf oder eben das Einbinden von Speichermedien mit ganz ähnlichen Restriktionen. Ich kann das alles nachvollziehen und begründen, sehe aber eben auch die Praxis und da sitze ich inzwischen alleine vor einem einzigen PC (nur gelegentlich kommt root zu Besuch) und nutze den innerhalb meines Desktops. Gerade bei mobilen Geräten mit wechselnden Einsatzorten und Netzwerken, aber eben auch für Wechsel-Speichermedien macht es absolut Sinn, dass der Besitzer des Desktops diese Vorgänge steuern darf, ohne dazu erst root fragen zu müssen.
Also, ich finde das gut und richtig so und danke nochmals ausdrücklich.
 
@cabriofahrer hatte den Wunsch geäußert, dass er gerne die von DSBMD/C eingehängten Datenträger per Dateimanager aushängen möchte. Beim Versuch, dies zu tun stieß er auf ein Berechtigungsproblem. Es erklärt sich so, dass DSBMD zwar sicherstellt, dass das eingehängte Dateisystem vom jeweiligen Benutzer beschrieben werden kann, jedoch wird es als root eingehängt. Es gibt aber gute Nachrichten, denn ich habe nun das Feature des Mountens als Benutzer in DSBMD implementiert. Solange die neue Version noch nicht in den Ports ist, kann der Code schon mal getestet werden:

Code:
% fetch  http://freeshell.de/~mk/download/dsbmd-0.5pre.tgz
% tar xf dsbmd-0.5pre.tgz && cd dsbmd-0.5pre && make
# make install
# cp /usr/local/etc/dsbmd.conf /usr/local/etc/dsbmd.conf.old
# cp dsbmd.conf /usr/local/etc/
# service dsbmd restart

Mit dieser Neuerung macht dann auch erst Automount Sinn. Dazu einfach sysutils/dsbmc-cli installieren, und je nach Umgebung dafür sorgen, dass dsbmc-cli -a automatisch gestartet wird.

Vielen Dank @marcel, habe die Schritte hier mal verfolgt, doch bei "make install" bekomme ich folgende Fehlermeldung:

Code:
# make install
install -s -m 555 dsbmd /usr/local/libexec
install -m 555 rc.d/dsbmd /usr/local/etc/rc.d
install -m 0644 dsbmd.conf /usr/local/etc/dsbmd.conf.sample
if [ ! -f /usr/local/etc/dsbmd.conf ]; then  install -m 0644 dsbmd.conf /usr/local/etc;  fi
mkdir: /usr/local/share/doc/dsbmd: File exists
*** Error code 1 (ignored)
install -m 0644 README /usr/local/share/doc/dsbmd

Bin daraufhin ins Verzeichnis /usr/local/share/doc gewechselt und habe ein "rm -rf dsbmd/" gemacht, dann ließen sich die weiteren Schritte ausführen.
Doch ein "dsbmc-cli &" ergibt dann folgende Fehlermeldung:

Code:
$ dsbmc-cli: Couldn't open/create /home/werner/.dsbmc-cli.lock: Permission denied

Vor dieser Prozedur ließ sich "dsbmc-cli &" starten und beim Einstöpseln eines Sticks erschien dieser direkt in Thunar (also wunderbar!), doch konnte ich eben nicht auswerfen.

Zu Deiner Nachfrage im anderen Thread bezüglich der Ausgabe zum ursprünglich getesteten Stick (da0) kann ich diese leider noch nicht liefern, da dies auf dem Rechner meiner Freundin war und ich an diesen wahrscheinlich die nächsten zwei Wochen nicht mehr rankomme. Aber wenn es soweit ist, werde ich die Ausgabe nachliefern.
 
habe ein "rm -rf dsbmd/" gemacht
wie ich das sehe, wäre nicht unbedingt notwendig gewesen. Es gibt dann zwar einen error, der aber ignoriert wird.

Wichtig ist, dass du den dsbmd danach neu startest. Du installierst ihn ja neu, daher muss er auch neu gestartet werden. Das wird dann sicher die laufenden Clients auch killen, was aber kein Problem ist. Du möchtest die ja auch neu starten. ich würde sie zur Sicherheit jedenfalls zunächst mal stoppen und dann erst dsbmd neu starten und dann wieder die Clients.
 
Hi @cabriofahrer ,

Vor dieser Prozedur ließ sich "dsbmc-cli &" starten und beim Einstöpseln eines Sticks erschien dieser direkt in Thunar (also wunderbar!), doch konnte ich eben nicht auswerfen.

Wie @pit234a bereits geschrieben hat, hast du wahrscheinlich dsbmd nicht neu gestartet (service dsbmd restart).

Doch ein "dsbmc-cli &" ergibt dann folgende Fehlermeldung:

Code:
$ dsbmc-cli: Couldn't open/create /home/werner/.dsbmc-cli.lock: Permission denied

Kann es sein, dass Du eine umask gesetzt hast, die Dateien bei der Erzeugung das Schreibrecht entzieht? Auf jeden Fall sollte ein chmod u+rw ~/.dsbmc-cli.lock das Problem beheben.
 
Zu Deiner Nachfrage im anderen Thread bezüglich der Ausgabe zum ursprünglich getesteten Stick (da0) kann ich diese leider noch nicht liefern, da dies auf dem Rechner meiner Freundin war und ich an diesen wahrscheinlich die nächsten zwei Wochen nicht mehr rankomme. Aber wenn es soweit ist, werde ich die Ausgabe nachliefern.

Danke Dir. Vielleicht erübrigt sich das auch, sobald ich die Ausgabe von Holgers SD-Karte, deren Dateisystem nicht erkannt wurde, erhalten und den Fehler behoben habe. Möglicherweise ist es das gleiche Problem, an dem auch die korrekte Erkennung deines Sticks scheitert.
 
Kann es sein, dass Du eine umask gesetzt hast, die Dateien bei der Erzeugung das Schreibrecht entzieht? Auf jeden Fall sollte ein chmod u+rw ~/.dsbmc-cli.lock das Problem beheben.

Ich weiß leider nicht, was eine umask ist, bewußt habe ich jedenfalls nichts gesetzt. Ich habe die Prozedur nochmal durchexerziert und es kam wieder das Gleiche. Ich hatte auch schon beim ersten Mal dsbmd gestartet. Der Hinweis mit chmod hat geholfen, ich konnte dann "dsbmc-cli -a" ausführen. Allerdings läßt sich das Medium in Thunar wieder nicht auswerfen, es kommt wieder "Operation not permitted". Dasselbe übrigens auch mit caja: Erfreulicherweise erkennt der Dateimanager den Stick gleich beim Einführen, doch beim Drücken auf das Symbol zum Auswerfen ebenfalls ein "Operation not permitted".

Eine externe mit NTFS formatierte Festplatte von Toshiba wurde auch automatisch gemountet (ebenfalls erfreulich) aber konnte auch nicht mit dem Filemanager ausgeworfen werden.

Falls es Dich noch interessiert: Ein Sony Camcorder wird leider nicht erkannt, den muss ich immer manuell mit readonly mounten. Hier die dsemg von dem Gerät:

Code:
da1 at umass-sim1 bus 1 scbus5 target 0 lun 0
da1: <Generic Flash Disk 8.07> s/n 13B097FF detached
pass3 at umass-sim1 bus 1 scbus5 target 0 lun 0
pass3: <Generic Flash Disk 8.07> s/n 13B097FF detached
(da1:umass-sim1:1:0:0): Periph destroyed
(pass3:umass-sim1:1:0:0): Periph destroyed
ugen1.2: <Sony> at usbus1
umass1: <Sony Sony Camcorder, class 0/0, rev 2.00/4.01, addr 2> on usbus1
umass1:  8070i (ATAPI) over Bulk-Only; quirks = 0xc100
umass1:5:1: Attached to scbus5
random: harvesting attach, 8 bytes (4 bits) from umass1
(probe0:umass-sim1:1:0:0): Down reving Protocol Version from 2 to 0?
pass3 at umass-sim1 bus 1 scbus5 target 0 lun 0
pass3: <Sony Camcorder 1.00> Removable Direct Access SCSI device
pass3: Serial Number 0886200BE669
pass3: 40.000MB/s transfers
GEOM: new disk da1
da1 at umass-sim1 bus 1 scbus5 target 0 lun 0
da1: <Sony Camcorder 1.00> Removable Direct Access SCSI device
da1: Serial Number 0886200BE669
da1: 40.000MB/s transfers
da1: 28615MB (58605120 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>
da1: Delete methods: <NONE(*),ZERO>
$
 
MoinMoin !

Habe mal die 0.5pre Version getestet !

Hatte zuerst ständig Fehlmeldungen !

Musste erst "hald_enable" aus der rc.conf
rausschmeissen !

Nu funzt das einwandfrei !

Gruss
 
hast Du die die Sysctl-Variable vfs.usermount auf 1 gesetzt?

Nein, hatte ich nicht. Das hat das Problem mit dem Auswerfen behoben. Ich dachte, das sei nicht nötig, da Du glaube ich an anderer Stelle geschrieben hattest, dass das keine Wirkung hätte.

Ich möchte jetzt doch noch mal meine letzten Erfahrungen schildern:

Durch Setzen der Variable vfs.usermount=1 und Starten von dsbmc-cli -a & ist man in Sachen volle Desktopintegration schon einen deutlichen Schritt weiter. Innerhalb des MATE Desktops erscheint dann beim Einstecken eines USB-Sticks ein Festplattensymbol auf dem Desktop und in caja. Durch Rechtsklicken auf dem Symbol kann man auch eine Option zum Auswerfen auswählen die auch funktioniert. In caja scheint das Auswerfen durch anklicken des Auswurfsymbols nicht immer beim ersten Mal zu klappen. Manchmal erst nach dem zweiten oder dritten Mal. Mit Thunar funktioniert es auch.

Allerdings gibt es ein Problem mit optischen Medien: Zwar wird eine Daten-CD auch wunderbar erkannt und gemountet, es erscheint auch eine CD-Symbol auf dem Desktop, die CD läßt sich auch wieder mit caja oder dem Desktopsymbol auswerfen, allerdings verschwinden die Symbole nicht und in caja oder Thunar werden die Dateien weiterhin aufgelistet, obwohl die CD schon nicht mehr vorhanden ist. Hier hilft nur noch ein Starten von dsbmc, in dem Fenster kann man dann auswerfen und die Symbole in caja und auf dem Desktop verschwinden dann auch.

Hier müsste nochmal geguckt werden, was da los ist.

Klar. Darauf könntest Du auch mal das testfs starten.

Code:
ugen1.2: <Sony> at usbus1
umass1: <Sony Sony Camcorder, class 0/0, rev 2.00/4.01, addr 2> on usbus1
umass1:  8070i (ATAPI) over Bulk-Only; quirks = 0xc100
umass1:5:1: Attached to scbus5
random: harvesting attach, 8 bytes (4 bits) from umass1
(probe0:umass-sim1:1:0:0): Down reving Protocol Version from 2 to 0?
pass5 at umass-sim1 bus 1 scbus5 target 0 lun 0
pass5: <Sony Camcorder 1.00> Removable Direct Access SCSI device
pass5: Serial Number 0886200BE669
pass5: 40.000MB/s transfers
GEOM: new disk da1
da1 at umass-sim1 bus 1 scbus5 target 0 lun 0
da1: <Sony Camcorder 1.00> Removable Direct Access SCSI device
da1: Serial Number 0886200BE669
da1: 40.000MB/s transfers
da1: 28615MB (58605120 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>
da1: Delete methods: <NONE(*),ZERO>
$ fetch http://freeshell.de/~mk/download/testfs.c
testfs.c  100% of 6060  B  14 MBps 00m00s
$ cc -o testfs testfs.c
$ ./testfs -f /dev/da1
204: !isprint(sector[0x03 + i])
$
 
Hallo !

Mal ein Update :

Benutze Openbox als Oberfläche , der Desktop wird vom Pcmanfm verwaltet ! ( pcmanfm --desktop & )

1. USB(2&3)-Sticks und Micro-SD mit Multireader funktionieren einwandfrei .
Werden beim einstecken auf dem Desktop angezeigt und lassen sich per Klick
auch mounten !
Beim unmounten per Pcmanfm oder Caja verschwinden die Icon auf dem Desktop und im Dateimanager !

2. Audio - CD`s erscheinen keine , habe ca. 10 Stk. getestet !
3. DVD`S erscheinen , können gemounted werden aber beim unmounten bleiben die Icon
erhalten ! Wie Cabriofahrer schon sagte !
4. BlueRays erscheinen auch nicht !

Die Ordner auf die eingehängt wurde bleiben beim unmounten in /media erhalten !!

So gewollt ?

Gruss
 

Anhänge

  • Caja.png
    Caja.png
    89 KB · Aufrufe: 315
@cabriofahrer & @bluescreen

es wäre vielleicht gut und hilfreich, die Ausgaben auf der Shell jeweils zu sehen. Also, ob und was gemountet ist, wenn zB die Icons nicht verschwinden wie erwartet und so weiter.

Man muss unterscheiden können, ob und was von einem DE oder Dateimanager angezeigt wird und was tatsächlich der Systemzustand ist, denn sonst könnte man ja allzu leicht auf eine falsche Anzeige hereinfallen.
Das alles ist ja nicht einheitlich geregelt. Es gibt unterschiedliche Informationsdienste, die abgefragt werden können und man weiß nicht, welches Programm sich nun für welchen Dienst entscheidet. Deshalb ist das mit der grafischen Darstellung von Systemereignissen immer so eine Sache, der man nicht direkt und immer trauen sollte. Oft muss man dafür etwa dbus aktiviert haben und so etwas wie einen at-spi2 laufen haben Auch der gvfsd wird von manchen Tools erwartet und so weiter. Das sind natürlich allesamt Dinge, die weit außerhalb von dsbmc/d liegen.
Ohne jetzt wirklich tief in der Materie zu sein, würde ich immer ein Verhalten mit dsbmc/d direkt mit einer manuellen Aktion vergleichen und alle Ergebnisse auch direkt auf der Shell ansehen wollen. Also, wenn ich manuell etwas mounte, erscheint dann auch ein Icon? Ist auch gemountet? Wenn ich manuell unmounte, dann..... und mit dsbmc/d ist das vergleichsweise so....
 
Wollte erstmal @bluescreen danken für die Bestätigung meiner Erfahrung. Also wir können zunächst mal festhalten, dass wir hier DREI Dateienmanager haben, die sich mit dsbmd gleich verhalten. Ich vermute weiterhin schwer, dass es mit Gnome3/Nautilus das Gleiche sein wird, da ich in der Vergangenheit schon mal mit autofs herumprobiert hatte. Aus der Reihe zu tanzen scheint hier wirklich nur KDE4/Dolphin (leider!).

Mit diesen Testergebnissen dürfte es jetzt dem Entwickler @marcel nicht schwerfallen, mal kurz "pkg install caja thunar pcmanfm" zu machen und dbus zu starten, um unsere Ergebnisse nachzuvollziehen. Mehr kann ich meinerseits leider nicht mehr beitragen.
Ich denke, dsbmd könnte ein ganz großes Ding werden, wenn es mal fertig ist (viel scheint nicht mehr zu fehlen). Es könnte vielleicht in naher Zukunft HAL ersetzen und offiziell als Abhängigkeit für die verschiedenen DE's mitinstalliert werden...
 
Nein, hatte ich nicht. Das hat das Problem mit dem Auswerfen behoben. Ich dachte, das sei nicht nötig, da Du glaube ich an anderer Stelle geschrieben hattest, dass das keine Wirkung hätte.

In den älteren Versionen war das Mounten als User noch nicht vollständig implementiert. Deswegen war es auch egal, ob vfs.usermount gesetz war oder nicht, denn es wurde ohnehin als Root gemountet. Dem Umstand, dass ich durch die Entwicklung etwas tiefer in der Materie stecke, ist es geschuldet, dass meine Wahrnehmung hinsichtlich dessen, was "logisch" und "selbstverständlich" sei, etwas verzerrt ist. Deswegen ist es gut, dass hier durch den Austausch solche Dinge zur Sprache kommen. Ich werde mir das notieren (auch den Hinweis von @bluescreen , dass ein gleichzeitiges betreiben von hald und dsbmd zu Problemen führt) und werde das in die Dokumentation aufnehmen.

Allerdings gibt es ein Problem mit optischen Medien: Zwar wird eine Daten-CD auch wunderbar erkannt und gemountet, es erscheint auch eine CD-Symbol auf dem Desktop, die CD läßt sich auch wieder mit caja oder dem Desktopsymbol auswerfen, allerdings verschwinden die Symbole nicht und in caja oder Thunar werden die Dateien weiterhin aufgelistet, obwohl die CD schon nicht mehr vorhanden ist.

Das sind Probleme, die nicht direkt dsbmd betreffen. Es handelt sich hierbei um Fehlverhalten der jeweiligen Software, die ja nicht weiss, und nicht wissen kann, ob ein Datenträger per Hand oder dsbmd eingehängt wurde. Das einzige, dass caja, pcmanfm und thunar mit dsbmd verbindet, ist die Mount table des Systems. Wenn nun die genannten Dateimanager direkt mit dsbmd sprechen würden (so wie sie es ja mit hald tun/taten), gäbe es diese Probleme nicht. Ich kann aber nichts in fremde Software hineinzaubern, sondern hier sind die Entwickler gefragt.

Code:
$ fetch http://freeshell.de/~mk/download/testfs.c
testfs.c 100% of 6060 B 14 MBps 00m00s
$ cc -o testfs testfs.c
$ ./testfs -f /dev/da1
204: !isprint(sector[0x03 + i])
$

Danke Dir. Das bringt mich schon ein Stück weiter. Wärst Du so gut, Die Prozedur zu wiederholen? Denn ich habe testfs.c leicht verändert.
 
Hi @bluescreen ,

danke für die Rückmeldung.
Die Ordner auf die eingehängt wurde bleiben beim unmounten in /media erhalten !!

So gewollt ?
Das Verhalten zeigt sich, wenn der Datenträger nicht per dsbmd ausgehängt wurde. Ist behoben (https://github.com/mrclksr/DSBMD/commit/8658063ed3396e13a4120e8cc6de53fa12b2081a). Danke für den Hinweis.
2. Audio - CD`s erscheinen keine , habe ca. 10 Stk. getestet !

Wo genau? In dsbmc oder in einem der Dateimanager?
 
Sorry, wegen htpc Experimenten habe ich zur Zeit kein FreeBSD auf meinem alten ThinkPad R500, ich werde das per Dualboot bald ändern und sofort die Ausgabe zum Kartenslot nachliefern.
 
Moin !

Zitat: Wo genau? In dsbmc oder in einem der Dateimanager?


Das ist ja witzig ! :huth:

Im Autostart von Openbox habe ich nur " (sleep 3 && dsbmc-cli -a) & " !

Wenn ich zusätzlich dsbmc starte und eine Audio-CD einlege wird Sie im
dsbmc angezeigt und beim anklicken brav im Audioplayer abgespielt !

Bei DVD das gleiche Ergebnis ! BlueRay = nix !

Ich dachte den dsbmc bräuchte ich nicht mehr !
Das Ding popt immer auf sobald ein Medium eingelegt wird , wäre
schön wenn man das Verhalten selbst aktivieren bzw. deaktivieren
könnte !

Beste Grüsse !
 
Zurück
Oben