DSBMC/DSBMD

Hallo @holgerw ,
Mit der aktuellen Version dsbmd-0.5pre-6 kann ich nun auch über den SD-Kartenslot Devices benutzen.

Sie lassen sich lesbar/schreibbar ohne Schwierigkeiten von Nutzern mounten und auch wieder entbinden.

Das klingt gut. Danke für's Testen!

In der /etc/devfs.conf habe ich allerdings auch entsprechende Einträge für diese Art von Devices:
Guter Hinweis. dsbmd sorgt mittlerweile, im Falle von usermount, schon dafür, dass das Gerät bis zum Aushängen dem jeweiligen Benutzer übereignet wird. Ich dachte mir, dass es sinnvoll ist, da damit dem Anwender weitere Konfigurationen erspart bleiben.
 
Jetzt aber! Ich konnte das gleiche Verhalten, wie bei Dir, @pit234a , nachvollziehen. Nicht jedoch, wenn ich dsbmd -f startete, sondern nur, wenn dsbmd beim Booten oder per service dsbmd (re)start gestartet wurde. Hatte mich Nerven und Tränen gekostet, herauszufinden, was da los ist.

Bauanleitung für den neuen Code:
Code:
% fetch http://freeshell.de/~mk/download/dsbmd-0.5pre-6.tgz
% tar xf dsbmd-0.5pre-6.tgz && cd dsbmd-0.5pre-6 && make
# make install && cp /usr/local/etc/dsbmd.conf.sample /usr/local/etc/dsbmd.conf
# service dsbmd restart

Hatte bisher leider keine Zeit, hier nochmal zu testen. Habe jetzt mal diese anscheinend letzte Version gerade so wie hier beschrieben installiert und "dsbmc-cli -a" als User gestartet und beim Einstecken eines Sticks tat sich erstmal gar nichts. Auch nicht beim Einführen einer CD (Selbstverständlich mache ich zuallererst immer ein "service hald stop"). Erst mach Änderung der /etc/rc.conf und einem Neustart und dann "dsbmc-cli -a" wird der USB-Stick (der steckte beim Reboot schon drin) erkannt, lässt sich aber nicht über caja auswerfen wie bei der ersten von mir ausprobierten Version von dsbmd (da musste ich manchmal zwei- oder dreimal auf das Auswurfsymobol von caja klicken).
Eine CD wird beim Einführen immernoch nicht erkannt. Darüber hinaus lässt sie sich aber noch nichtmal mehr durch Drücken des Knopfes auf dem Laufwerk öffnen.
 
Hi @cabriofahrer ,

danke für die Rückmeldung.
Auch nicht beim Einführen einer CD

Eine CD mit Iso9660-Dateisystem oder eine Audio-CD?

lässt sich aber nicht über caja auswerfen wie bei der ersten von mir ausprobierten Version von dsbmd
Ich habe es an drei Systemen getestet, und konnte es nur zum scheitern bringen, wenn ich vfs.usermount auf 0 gesetzt habe, was wenig überraschend ist. Ist das vielleicht der Fall bei Dir?

Eine CD wird beim Einführen immernoch nicht erkannt.
Eine CD mit Iso9660-Dateisystem oder eine Audio-CD?
 
Es war eine Daten-CD. Und hier meine sysctl.conf:

Code:
$ more /etc/sysctl.conf
# $FreeBSD: releng/11.0/etc/sysctl.conf 112200 2003-03-13 18:43:50Z mux $
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0
#compat.linux.osrelease=2.6.18
hw.snd.default_unit=0
dev.pcm.0.play.vchanformat=s16le:5.1
kern.ipc.shm_allow_removed=1
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
vm.defer_swapspace_pageouts=1
net.inet.ip.random_id=1
vfs.usermount=1
kern.coredump=0
kern.corefile=/dev/null
debug.bootverbose=1
 
Mach doch bitte mal eine saubere Neu-Installation:

Code:
% su
# service dsbmd stop
# rm /usr/local/etc/dsbmd.conf

Code:
% cd /tmp
% fetch http://freeshell.de/~mk/download/dsbmd-port.tgz
% tar xf dsbmd-port.tgz
% su
# cd /tmp/dsbmd
# make deinstall
# make install
# reboot

Nach dem Neustart dsbmc-cli -a als User starten, und ein paar Medien einlegen/einstecken.

Sollte es immer noch Probleme geben, bitte mal die Ausgabe von mount posten, damit ich sehen kann, wie die Datenträger eingehängt worden sind. Außerdem die Ausgabe von ls -l /dev/da* und im Fall der CD ls -l /dev/cd*
 
OK, habe wie im anderen Thread empfohlen esrtmal mein System auf 11.1 gebracht. Dann die oben beschriebene saubere Neu-Installation befolgt. Dabei zusätzlich die Option für exfat noch angeklickt. Hier das Ergebnis:

Drei verschiedene USB-Sticks eingesteckt, caja erkannte diese jeweils und sie konnten mittels einem Klick auf das Auswurfsymbol wieder entfernt werden. Erster Eindruck daher erstmal perfekt. Doch dann beim Einführen von zwei Daten-CD's in zwei verschiedene Laufwerke wieder nichts. Und jetzt noch schlimmer: Mit den eingeführten CD's werden auf einmal USB-Sticks beim Einführen nicht mehr erkannt! Hier die Ausgabe:

Code:
$ ls -l /dev/cd*
crw-rw-rw-  1 root  operator  0x75 Dec  7 11:36 /dev/cd0
crw-rw-rw-  1 root  operator  0x76 Dec  7 11:36 /dev/cd1
$ ls -l /dev/da*
crw-r-----  1 root  operator  0xa1 Dec  7 11:52 /dev/da0
crw-r-----  1 root  operator  0xa2 Dec  7 11:52 /dev/da0s2
crw-r-----  1 root  operator  0x91 Dec  7 12:36 /dev/da1
$ ls -l /dev/da*
crw-r-----  1 root  operator  0x91 Dec  7 12:36 /dev/da1
$ ls -l /dev/da*
crw-r-----  1 root  operator  0x91 Dec  7 12:36 /dev/da1
$ ls -l /dev/da*
crw-r-----  1 root  operator  0x91 Dec  7 12:36 /dev/da1
$ ls -l /dev/da*
crw-r-----  1 root  operator  0xa1 Dec  7 12:00 /dev/da0
crw-r-----  1 root  operator  0xa2 Dec  7 12:00 /dev/da0s1
crw-r-----  1 root  operator  0x91 Dec  7 12:36 /dev/da1

Kein Stick wird jedoch zum Zeitpunkt der Ausgabe (nach Einführen der CD's) von caja mehr erkannt oder gemountet.
 
Lief dsbmd noch, als die Sticks nicht mehr erkannt wurden? Wenn der Zustand besteht, mal versuchen, Aktionen per dsbmc auszuführen. Wenn sich da nichts tut, ist es wahrscheinlich ein Deadlock. Wenn dsbmd nicht mehr läuft, ist er wahrscheinlich abgestürzt.
Funktioniert denn alles, wenn Du nur ein CD-Laufwerk benutzt?
 
Ich glaube nicht, dass dsbmd abgestürtzt war, denn am Schluß machte ich ein "#service dsbmd stop" und es kam eine entsprechende Meldung, dass der Dienst gestoppt wurde. Zu Frage zwei: Das kann ich nicht wissen, da ich erst nach dem Einführen der zweiten CD auf die Idee gekommen bin, nochmal einen Stick einzuführen.
 
Könntest Du mal mit nur einem CD-Laufwerk testen, um zu sehen, ob Du das fehlerhafte Verhalten reproduzieren kannst?
 
Hi @marcel

ich habe ein frisch aufgesetztes FreeBSD 11.1 auf meinem TP R500, und mit dem latest Repo auch das aktuelle dsbmd 0.5. DE ist das schlanke lxde.
Ich kann gerne mit testen, CDs habe ich mit dsbmd 0.5 noch nicht ausprobiert.
Was soll ich machen, was ist hilfreich für Dich?
 
Hi Holger,

also wenn Du dsbmd benutzt, und Dir nichts auffällt, das nicht funktioniert, ist es nicht nötig gezielt zu testen. Aber danke! Werde aber bestimmt früher oder später nochmal darauf zurückkommen ;). Mit CD/DVD-Laufwerken habe ich es auf meinen Systemen ausgiebig getestet. Ich vermute mal, dass das von @cabriofahrer geschilderte Problem damit zu tun haben könnte, dass er zwei Laufwerke hat. Im Moment sieht es nach einem Deadlock-Problem aus, was ich genauer lokalisieren kann, wenn ich weiss, ob das Problem nur bei zwei Laufwerken oder auch so auftritt.
 
Ich habe zwei Laufwerke drin, aber nur eine einzige Audio-CD verfügbar. Damit gibt es keine Probleme. Ich kann natürlich nur nacheinander meine LW füttern, aber das funktioniert und zwar unabhängig und gleichzeitig zu Sticks.
ich nutze dsmbc.
Audio-CDs werden ja auch nicht gemountet. Also jedenfalls nicht bei mir.

Daten CD/DVDs konnte ich gleichzeitig in beiden LW über dsbmc mounten und auch auswerfen und ebenfalls wieder gleichzeitig und danach einen Stick dabei benutzen. Es wurde auch ein passendes Symbol in pcmanfm angelegt und ich konnte auch über diesen unmounten. Auswerfen aber nur über dsbmc (oder manuell).

Kurz: keine Störung bei mir zu sehen.
 
Hallo @marcel, habe jetzt nochmal getestet und nur eine CD in das erste Laufwerk eingeführt und auch so wieder das gleiche: Nach Einführen einer CD werden Sticks auf einmal nicht mehr erkannt. dsbmd/c sind immernoch aktiv:

Code:
$ ps -x
PID TT  STAT    TIME COMMAND
948  -  Ss   0:08.14 /usr/local/bin/dbus-daemon --fork --print-pid 5 --print-a
950  -  I    0:00.02 /usr/local/libexec/at-spi-bus-launcher
951  -  S    0:00.05 /usr/local/bin/dbus-daemon --config-file=/usr/local/share
953  -  S    0:00.04 /usr/local/libexec/at-spi2-registryd --use-gnome-session
955  -  I    0:00.02 /usr/local/libexec/dconf-service
962  -  S    0:02.84 /usr/local/libexec/gvfsd
964  -  I    0:00.07 /usr/local/libexec/gvfsd-fuse /home/werner/.gvfs -f -o bi
968  -  I    0:00.01 /usr/local/libexec/gvfs-hal-volume-monitor
977  -  S    0:00.71 /usr/local/libexec/wnck-applet
979  -  I    0:00.01 /usr/local/libexec/gvfs-gphoto2-volume-monitor
982  -  I    0:00.14 /usr/local/libexec/notification-area-applet
983  -  I    0:00.24 /usr/local/libexec/clock-applet
984  -  Ss   0:00.61 /usr/local/bin/python2.7 /usr/local/bin/hp-systray -x
1005  -  S    0:00.07 /usr/local/libexec/gvfsd-trash --spawner :1.11 /org/gtk/g
1009  -  I    0:00.03 /usr/local/libexec/gvfsd-metadata
1010  -  S    0:01.59 /usr/local/bin/python2.7 /usr/local/bin/hp-systray -x
1011  -  S    0:00.06 /usr/local/bin/python2.7 /usr/local/bin/hp-systray -x
4355  -  S    0:00.06 /usr/local/libexec/gvfsd-computer --spawner :1.11 /org/gt
932 v0  I    0:00.01 -sh (sh)
939 v0  I+   0:00.00 xinit mate-session
942 v0  I    0:00.05 xterm -geometry +1+1 -n login mate-session
944  0  Ss+  0:01.51 mate-session
947  0  I+   0:00.00 dbus-launch --exit-with-session mate-session
957  0  S+   0:01.94 gnome-keyring-daemon --start
958  0  S+   0:01.22 /usr/local/libexec/mate-settings-daemon
959  0  S+   0:01.97 marco
960  0  S+   0:02.38 mate-panel
966  0  I+   0:00.00 libgtop-server (libgtop_server2)
974  0  R+   1:10.18 caja
991  0  S+   0:01.42 mate-screensaver
993  0  S+   0:00.18 mate-power-manager
996  0  S+   0:00.77 mate-volume-control-applet
1377  0  S+   0:00.70 mate-terminal
5020  0  R+   0:00.19 atril-thumbnailer -s 128 file:///home/werner/Desktop/Fund
1380  1  Ss   0:00.02 sh
1504  1  I    0:00.00 dsbmc-cli -a
5021  1  R+   0:00.00 ps -x
4924  2  Is+  0:00.02 sh
$ su
Password:
# ps -x
PID TT  STAT     TIME COMMAND
   0  -  DLs   0:00.95 [kernel]
   1  -  ILs   0:00.01 /sbin/init --
   2  -  DL    0:00.00 [crypto]
   3  -  DL    0:00.00 [crypto returns]
   4  -  DL    0:00.29 [cam]
   5  -  IL    0:00.00 [fw0_probe]
   6  -  DL    0:00.00 [fdc0]
   7  -  DL    0:00.00 [soaiod1]
   8  -  DL    0:00.00 [soaiod2]
   9  -  DL    0:00.00 [soaiod3]
  10  -  DL    0:00.00 [audit]
  11  -  RL   30:54.40 [idle]
  12  -  WL    0:03.42 [intr]
  13  -  DL    0:00.55 [geom]
  14  -  DL    0:00.22 [usb]
  15  -  DL    0:00.00 [soaiod4]
  16  -  DL    0:00.00 [sctp_iterator]
  17  -  DL    0:00.09 [rand_harvestq]
  18  -  DL    0:00.02 [acpi_thermal]
  19  -  DL    0:00.00 [acpi_cooling0]
  20  -  DL    0:00.06 [pagedaemon]
  21  -  DL    0:00.00 [vmdaemon]
  22  -  DL    0:00.00 [pagezero]
  23  -  DL    0:00.16 [bufdaemon]
  24  -  DL    0:00.01 [bufspacedaemon]
  25  -  DL    0:00.14 [syncer]
  26  -  DL    0:00.01 [vnlru]
203  -  Is    0:00.00 adjkerntz -i
428  -  Is    0:00.00 dhclient: nfe0 [priv] (dhclient)
488  -  Ss    0:00.23 /usr/sbin/moused -p /dev/ums0 -t auto -I /var/run/moused
501  -  Ss    0:00.28 /sbin/devd
574  -  Ss    0:00.09 /usr/sbin/syslogd -s
776  -  Ss    0:00.09 /usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f
823  -  R     2:47.99 /usr/local/libexec/dsbmd
827  -  Is    0:00.04 /usr/local/sbin/cupsd -C /usr/local/etc/cups/cupsd.conf
856  -  Is    0:00.00 /usr/sbin/sshd
859  -  Ss    0:00.02 sendmail: accepting connections (sendmail)
866  -  Is    0:00.00 /usr/sbin/cron -s
999  -  I     0:00.03 /usr/local/sbin/console-kit-daemon --no-daemon
1001  -  S     0:00.10 /usr/local/libexec/upowerd
924 v0  Is    0:00.01 login [pam] (login)
940 v0  S     0:08.59 X :0 (Xorg)
925 v1  Is+   0:00.00 /usr/libexec/getty Pc ttyv1
926 v2  Is+   0:00.00 /usr/libexec/getty Pc ttyv2
927 v3  Is+   0:00.00 /usr/libexec/getty Pc ttyv3
928 v4  Is+   0:00.00 /usr/libexec/getty Pc ttyv4
929 v5  Is+   0:00.00 /usr/libexec/getty Pc ttyv5
930 v6  Is+   0:00.00 /usr/libexec/getty Pc ttyv6
931 v7  Is+   0:00.00 /usr/libexec/getty Pc ttyv7
5067  1  S     0:00.01 su
5081  1  S     0:00.00 su (sh)
5096  1  R+    0:00.00 ps -x
#

Nutze ich denn die richtige Version von dsbmd? Ich habe genau die Schritte für eine saubere Neuinstallation befolgt, aber weiter oben im Thread ist auch von dsbmd-0.5pre-6 die Rede.
 
Könntest Du bitte dsbmd nochmal in diesen Zustand versetzten, und mir die Ausgabe von ps -ajHl | grep dsbmd zeigen? So habe ich dann ein notwendiges, wenn auch nicht hinreichendes, Indiz für ein Deadlock.

Nutze ich denn die richtige Version von dsbmd? Ich habe genau die Schritte für eine saubere Neuinstallation befolgt, aber weiter oben im Thread ist auch von dsbmd-0.5pre-6 die Rede.
Wenn Du die Schritte befolgt hast, dann ist das die richtige Version. Du kannst es mit pkg info| grep dsbmd prüfen. Es sollte Version 0.5 sein.
 
Aber klar doch, hier:

Code:
# ps -ajHl | grep dsbmd
root   3386 2501 3385 1248    2 S+    1  0:00.00 grep dsbmd          0   0  20  0   14852   2528 piperd
# pkg info | grep dsbmd
dsbmd-0.5                      Media mounting daemon
#

Ich weiß nicht, ob die Info zu den Laufwerken selbst noch hilft. Das erste Laufwerk ist cd0 und ist schneller (ATA 66). Ich kann mich von früher noch erinnern, dass es unbedingt an ein 80-poliges IDE-Kabel angeschlossen werden musste, da sonst eine Installation von FreeBSD (5.x oder 6.x) mit CD gleich am Anfang scheiterte. Seitdem schließe ich die Laufwerke immer an ein 80-poliges Kabel an.

Code:
$ dmesg | grep cd
cd1 at ata0 bus 0 scbus0 target 1 lun 0
cd1: <_NEC DVD_RW ND-3520A 1.04> Removable CD-ROM SCSI device
cd1: 33.300MB/s transfers (UDMA2, ATAPI 12bytes, PIO 65534bytes)
cd1: Attempt to query device size failed: NOT READY, Medium not present
cd0 at ata0 bus 0 scbus0 target 0 lun 0
cd0: <PIONEER DVD-ROM DVD-106 1.22> Removable CD-ROM SCSI device
cd0: 66.700MB/s transfers (UDMA4, ATAPI 12bytes, PIO 65534bytes)
cd0: 701MB (359209 2048 byte sectors)
 
DSBMC/DSBMD und gvfs

Hallo @marcel,

für eine Applikation (octopkg) musste ich gksu nachinstallieren, das installiert aber leider einiges an Gnome mit, und beim Start von lxde poppt sofort dsbmc mit gvfs auf (obwohl in der .xinitrc ein dsbmc -i steht).

Kann man dsbmd abgewöhnen, von gnomes gvfs Notiz zunehmen?
 
Hi Holger,
Kann man dsbmd abgewöhnen, von gnomes gvfs Notiz zunehmen?
Ich habe erst mal für dsbmc eine ignore-Variable eingeführt, mit der Du durch Kommata getrennte Gerätenamen/Mountpoints eintragen kannst.

Beispiel ~/.config/DSB/dsbmc/config:
Code:
ignore = "/var/run/user/1001/gvfs"

Bauanleitung
Code:
# fetch https://github.com/mrclksr/DSBMC/archive/master.zip
# unzip master.zip
# cd DSBMC-master && make install
 
Hi Cabriofahrer,
# ps -ajHl | grep dsbmd root 3386 2501 3385 1248 2 S+ 1 0:00.00 grep dsbmd 0 0 20 0 14852 2528 piperd
Wenn das die Ausgabe zu dem Zeitpunkt ist, an dem dsbmd keine USB-Sticks mehr erkennt, ist es sehr wahrscheinlich kein Deadlock. D.h., ich brauche wohl noch mehr Informationen:

Ich würde Dich bitten, dsbmd mal im Vordergrund laufen zu lassen:
Code:
# sh -c 'dsbmd -f 2>&1 | tee dsbmd.log'
Währenddessen, eine Daten-CD in eines der Laufwerke einlegen, um das fehlerhafte Verhalten herbeizuführen. Dann einen USB-Stick anschließen, und eine Minute warten. Anschließend dsbmd beenden (Strg+C) und hier das Log (dsbmd.log) und die Ausgabe von dmesg posten.

Läuft denn das manuelle Mounten einer CD problemlos? Ist eines der Laufwerke fehlerhaft oder ist das Verhalten mit beiden Laufwerken reproduzierbar?
 
Wollte es gerade ausprobieren, doch:

Code:
# service hald stop
Stopping hald.
Waiting for PIDS: 1023.
# sh -c 'dsbmd -f 2>&1 | tee dsbmd.log'
sh: dsbmd: not found
# sh -c 'dsbmd -f 2>&1 | tee dsbmd.log'
sh: dsbmd: not found
# service dsbmd onestart
Starting dsbmd.
# sh -c 'dsbmd -f 2>&1 | tee dsbmd.log'
sh: dsbmd: not found
 
Ich korrigiere:
Code:
# sh -c '/usr/local/libexec/dsbmd -f 2>&1 | tee dsbmd.log'
Aber vorher bitte:
Code:
service dsbmd stop
 
Hallo @marcel, das manuelle Mounten beider Laufwerke läuft problemlos. Schließlich funktionieren ja beide auch mit HAL. Der Output ist recht spärlich, selbst nach Einführen des Sticks tut sich auch da nichts:

Code:
# service hald stop
Stopping hald.
Waiting for PIDS: 1023.
# mount -t cd9660 /dev/cd0 /mnt
# umount /mnt
# mount -t cd9660 /dev/cd1 /mnt
# umount /mnt
# sh -c '/usr/local/libexec/dsbmd -f 2>&1 | tee dsbmd.log'
dsbmd: dsbmd started on Sun Dec 10 20:33:26 2017
dsbmd: getfs(): fread(): No error: 0
dsbmd: getfs(): fread(): Input/output error
dsbmd: getfs(): Input/output error
dsbmd: getfs(): fread(): No error: 0
dsbmd: ioctl(/dev/cd1, CDRIOCREADSPEED): Device not configured on Sun Dec 10 20:33:27 2017
dsbmd: ioctl(/dev/cd0, CDRIOCREADSPEED): Device not configured on Sun Dec 10 20:33:27 2017
^C
# pwd
/usr/home/werner
# more dsbmd.log
dsbmd: dsbmd started on Sun Dec 10 20:33:26 2017
dsbmd: getfs(): fread(): No error: 0
dsbmd: getfs(): fread(): Input/output error
dsbmd: getfs(): Input/output error
dsbmd: getfs(): fread(): No error: 0
dsbmd: ioctl(/dev/cd1, CDRIOCREADSPEED): Device not configured on Sun Dec 10 20:33:27 2017
dsbmd: ioctl(/dev/cd0, CDRIOCREADSPEED): Device not configured on Sun Dec 10 20:33:27 2017
#
 
Zurück
Oben