DSBMC/DSBMD

Ich würde nochmal alle bitten (@cabriofahrer : bitte erst mal die 0.4 testen)

Also ich weiß nicht, ob ich jetzt alles richtig gemacht habe, manchmal schreibst Du, man soll nach dem "fetch" ein "make" machen, manchmal ein "make install". Ich habe jedenfalls zur Sicherheit gestern erstmal ein pkg install -f dsbmd gemacht, danach ein fetch und ein make von 0.4, wie oben von Dir beschrieben. Ergebnis: Nach Einführen einer CD (Blu-Ray habe ich nicht) wieder nichts. Dann in der dsbmd.conf den Wert = 0 gesetzt. Am nächsten Tag (also gerade eben mit frischem Start des Rechners) in das Verzeichnis dsbmd-nothr-0.4 gewechselt und

Code:
sh -c './dsbmd -f 2> dsbmd.log'

ausgeführt. Dann

Code:
dsbmc-cli -a & und caja &

Nach Einführen einer CD wieder nichts, aber ein Stick wird erkannt und erscheint in caja. Komischerweise erscheint in caja aber kein Auswurfsymbol für den Stick, aber im Menü bei einem Rechtsklickt erscheint eine Option "unmount", die auch funktioniert. Hier der Inhalt von dsbmd-nopoll.log:

Code:
dsbmd: dsbmd started on Thu Dec 21 10:07:35 2017
dsbmd: New device: ugen0.1
dsbmd: New device: ugen1.1
dsbmd: New device: ugen2.1
dsbmd: New device: ada0
dsbmd: New device: ugen2.2
dsbmd: New device: ada1
dsbmd: New device: cd0
dsbmd: ioctl(/dev/cd0, CDRIOCREADSPEED): Device not configured on Thu Dec 21 10:07:35 2017
dsbmd: Adding device: cd0
dsbmd: New device: cd1
dsbmd: ioctl(/dev/cd1, CDRIOCREADSPEED): Device not configured on Thu Dec 21 10:07:36 2017
dsbmd: Adding device: cd1
dsbmd: New device: ada0p1
dsbmd: getfs(): fread(): No error: 0
dsbmd: getfs(): fread(): Input/output error
dsbmd: getfs(): Input/output error
dsbmd: New device: ada0p2
dsbmd: New device: ada0p3
dsbmd: New device: ada1p2
dsbmd: New device: ugen0.2
dsbmd: New device: ugen0.3
dsbmd: New device: da0
dsbmd: Adding device: da0
dsbmd: New device: ugen0.4
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: Client with UID 1001 connected on Thu Dec 21 10:07:55 2017
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 04 01" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 04 01" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=usb/1.2.0
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=ugen1.2
dsbmd: New device: ugen1.2
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=usb/1.2.1
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=usb/1.2.2
dsbmd: devd: !system=USB subsystem=DEVICE type=ATTACH ugen=ugen1.2 cdev=ugen1.2 vendor=0x1aa6 product=0x0201 devclass=0x00 devsubclass=0x00 sernum="0FBA" release=0x1000 mode=host port=6 parent=ugen1.1
dsbmd: devd: !system=USB subsystem=INTERFACE type=ATTACH ugen=ugen1.2 cdev=ugen1.2 vendor=0x1aa6 product=0x0201 devclass=0x00 devsubclass=0x00 sernum="0FBA" release=0x1000 mode=host interface=0 endpoints=2 intclass=0x08 intsubclass=0x06 intprotocol=0x50
dsbmd: devd: +umass1 at bus=1 hubaddr=1 port=6 devaddr=2 interface=0 ugen=ugen1.2 vendor=0x1aa6 product=0x0201 devclass=0x00 devsubclass=0x00 devproto=0x00 sernum="0FBA" release=0x1000 mode=host intclass=0x08 intsubclass=0x06 intprotocol=0x50 on uhub1
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=pass5
dsbmd: devd: !system=GEOM subsystem=disk type=GEOM::physpath devname=da1
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=da1
dsbmd: New device: da1
dsbmd: FS == msdosfs
dsbmd: Adding device: da1
dsbmd: devd: !system=GEOM subsystem=DEV type=CREATE cdev=da1
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=diskid/DISK-0FBA
dsbmd: devd: !system=GEOM subsystem=DEV type=CREATE cdev=diskid/DISK-0FBA
dsbmd: Device /dev/da1 mounted on /media/da1 by UID 1001 on Thu Dec 21 10:09:11 2017
dsbmd: devd: !system=DEVFS subsystem=CDEV type=DESTROY cdev=diskid/DISK-0FBA
dsbmd: devd: !system=GEOM subsystem=DEV type=DESTROY cdev=diskid/DISK-0FBA
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=DEVFS subsystem=CDEV type=MEDIACHANGE cdev=da1
dsbmd: devd: !system=GEOM subsystem=DEV type=MEDIACHANGE cdev=da1
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=DEVFS subsystem=CDEV type=CREATE cdev=diskid/DISK-0FBA
dsbmd: devd: !system=GEOM subsystem=DEV type=CREATE cdev=diskid/DISK-0FBA
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=da0 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: devd: !system=CAM subsystem=periph type=error device=cd1 serial="" cam_status="0xcc" scsi_status=2 scsi_sense="70 02 3a 00" CDB="00 00 00 00 00 00 "
dsbmd: dsbmd exited on Thu Dec 21 10:10:25 2017
 
Also ich weiß nicht, ob ich jetzt alles richtig gemacht habe, manchmal schreibst Du, man soll nach dem "fetch" ein "make" machen, manchmal ein "make install".
Ich habe jetzt nicht alle "Bauanleitungen" hier nochmal durchgesehen, aber was immer ich selbst benutzt hatte, konnte ich per copy and paste direkt übernehmen. Das ist eine große Erleichterung, weil man nicht selbst denken muss und die Gefahr für Tippfehler kleiner wird. Was aber grundsätzlich immer gemacht wird, ist in etwa dies:
-mit einem Befehl werden die neuen Quellen downgeloadet.
-mit dem nächsten Befehl werden diese in ein neues Verzeichnis entpackt
-dann wird in dieses Verzeichnis gewechselt
-die traditionellen Schritte in diesem Verzeichnis wären nun ein configure, make, make install. Je nach Art der Quellen kann hier auch was wegfallen, aber ohne make install wird nie etwas installiert. Die beiden ersten Befehle, configure und make bereiten nur alles zur Installation vor und können traditionell auch als User ausgeführt werden, während dann make install die vorbereiteten Sachen tatsächlich installiert und deshalb auch von root ausgeführt werden muss.
-das neu installierte Programm kann nun konfiguriert und benutzt werden.
Im Falle von DSBMD gibt es dazu eine Konfigurationsdatei. Diese wurde im Verlauf der Entwicklung von marcel den neuen Möglichkeiten angepasst und deshalb gab es manchmal auch einen Befehl, eine in den Quellen neu mitgelieferte Konfigurationsdatei in ihr Ziel zu kopieren. Wer an der alten Konfigurationsdatei etwas geändert hatte, musste nun dort aktiv werden. Erst danach sollte dann DSBMD gestartet werden (oder neu gestartet werden), weil er nur dann diese Konfiguration auch berücksichtigen kann. DSBMC hat eine GUI und eine Datei zur Konfiguration, bei DSBMC-CLI habe ich nicht nachgesehen, aber es ist mir ein Beispiel im Kopf, wo diesem Befehl einige Optionen beim Aufruf mitgegeben wurden. Das ist auch eine Möglichkeit, ein gewünschtes Verhalten fest zu legen.

Die Quellen, die marcel hier als Testversionen veröffentlicht, sind allesamt noch in der Entwicklung und wir armen Lichter dürfen hier dabei helfen, eine großartige Sache weiter zu bringen. Wie das immer so ist, fließen Verbesserungen und neue Möglichkeiten zeitgleich mit ein und marcel hat sich deshalb wohl entschieden, zwischen drin mal einen kleinen Namenswechsel zu etablieren. Das dient nur der Übersichtlichkeit, ändert aber nichts am Ablauf. Nach Test, wird irgendwann ein Zustand in die Ports fließen und dann daraus ein Paket entstehen. Sowohl beim Bau aus den Quellen, als auch bei Benutzung eines Paketes werden alle benötigten Teile mitgeliefert. Du musst also nicht erst ein Paket einspielen oder einen Port bauen, um die hier zum Testen veröffentlichten Versionen bauen und benutzen zu können.

Ich verfolge deinen Kampf mit aufrichtigem Interesse und auch mit gewisser Bewunderung, auch für das Engagement von marcel.
Es gab ja nun schon mehrfach Besonderheiten in der HW von Nutzern, die dann nachträglich berücksichtigt werden konnten. Dein Fall scheint besonders hartnäckig zu sein. ich hoffe, ihr beißt euch da weiter durch und findet vielleicht eine Lösung oder wenigstens eine Antwort.
 
Hi @cabriofahrer ,

danke für die Rückmeldung!
Also ich weiß nicht, ob ich jetzt alles richtig gemacht habe, manchmal schreibst Du, man soll nach dem "fetch" ein "make" machen, manchmal ein "make install".
Mal abgesehen von dem erwähnten Tippfehler, musst Du Dich nur an die Anleitung in diesem Kommentar halten (alle anderen Versionen kannst Du erst mal ignorieren). Es geht ja hier nur darum, das Problem zu debuggen, weswegen ein make install unnötig ist. Könntest Du bitte noch das Log dsbmd.log nachreichen, wie in besagtem Kommentar beschrieben? Der Übersichtlichkeit halber, werde ich hier noch mal die Anleitung in korrekter Form einfügen:
  1. Setze poll_interval=5 in /usr/local/etc/dsbmd.conf
  2. Beende hald mit
    Code:
    # service hald stop
  3. Für den Fall, dass dsbmd läuft, beende diesen:
    Code:
    # service onestop dsbmd
  4. Baue und starte dsbmd-nothr-0.4 wie folgt:
    Code:
    # fetch http://freeshell.de/~mk/download/dsbmd-nothr-0.4.tgz && tar xf dsbmd-nothr-0.4.tgz && cd dsbmd-nothr-0.4
    # make
    # sh -c './dsbmd -f 2> dsbmd.log'
  5. Wechsele auf ein anderes Terminal und starte dsbmc-cli -a als User wie folgt:
    Code:
    % sh -c 'while [ true ]; do dsbmc-cli -a && break; sleep 1; done'
  6. Lege eine CD ein, warte etwas, und stecke dann einen USB-Stick ein. Wechsele auch mal die CD und den USB-Stick. Dadurch bekomme ich mehr Hinweise.
  7. Schließlich dsbmd und dsbmc-cli beenden, und das Log hier posten.

Ich danke Dir nochmals für Deine Geduld, und hoffe mit Zuversicht, dass es sich lohnen wird. So schnell gebe ich nicht auf ;)

@pit234a : Danke für die Erläuterungen. Kann ich alles so unterschreiben.
 
OK, bin wieder da. Habe die o.g. Schritte befolgt und füge jetzt die Log-Datei bei. Habe einmal den Stick gewechselt und eine zweite CD in das zweite Laufwerk gesteckt. (CD1 lässt sich während dsbmd läuft nicht entfernen.)
 

Anhänge

  • dsbmd.txt
    26,3 KB · Aufrufe: 235
Danke für das Log, @cabriofahrer ! Es wirft Fragen auf. Obwohl eine CD eingelegt wurde, sieht man in den devd-Meldungen kein MEDIACHANGE-Event. Es findet sich auch kein Hinweis darauf, dass ein USB-Stick eingesteckt wurde.

*kopf kratz*
 
Müsste vielleicht auch jedesmal devd neu gestartet werden, da ich ja eigentlich HAL nutze?
Sollte nicht notwendig sein. Aber Du könntest parallel zu dem Vorgehen in #179 ein Log der Ausgabe von devd machen. Dazu startest Du an einem Terminal
Code:
# nc -U /var/run/devd.pipe > devd.log
und führst auf einem anderen Terminal die Schritte aus #179 aus.

Die Logs dann hier wieder posten.
 
Hallo @marcel, bin aus den Ferien zurück und liefere nun die Logs. Habe eine CD in Laufwerk 1 gesteckt, eine weitere in Laufwerk 2, einen USB-Stick einegesteckt, wieder entfernt, einen weiteren USB-Stick eingeführt, CD aus Laufwerk 2 entfernt und eine dritte CD eingeführt (CD aus Laufwerk 1 ließ sich nicht entfernen).

Code:
# service hald stop
Stopping hald.
Waiting for PIDS: 1047.
# service devd restart
Stopping devd.
Waiting for PIDS: 532.
Starting devd.
# nc -U /var/run/devd.pipe > devd.log
^C

Code:
# fetch http://freeshell.de/~mk/download/dsbmd-nothr-0.4.tgz && tar xf dsbmd-nothr-0.4.tgz && cd dsbmd-nothr-0.4
dsbmd-nothr-0.4.tgz                           100% of   46 kB  525 kBps 00m00s
# make
cc -o dsbmd -Wall -O2 -pipe  -DPROGRAM=\"dsbmd\" -DPATH_DSBMD_LOG=\"/var/log/dsbmd.log\" -DPATH_PID_FILE=\"/var/run/dsbmd.pid\" -DPATH_DSBMD_SOCKET=\"/var/run/dsbmd.socket\" -DPATH_CONFIG=\"/usr/local/etc/dsbmd.conf\" dsbmd.c config.c dsbcfg/dsbcfg.c fs.c common.c -lgeom -lcam -lpthread -lutil -lkiconv -lusb
sed -e 's|@PATH_PROGRAM@|/usr/local/libexec/dsbmd|g'  -e 's|@PATH_PIDFILE@|/var/run/dsbmd.pid|g'  < rc.d/dsbmd.tmpl > rc.d/dsbmd
# sh -c './dsbmd -f 2> dsbmd.log'
^C#

Code:
$ sh -c 'while [ true ]; do dsbmc-cli -a && break; sleep 1; done'

Kleine Frage noch am Rande: Dateien mit der Endung ".log" lassen sich hier nicht hochladen, weswegen ich sie vorher immer in das ".txt"-Format umwandeln muss. Warum?
 

Anhänge

  • dsbmd.txt
    20,3 KB · Aufrufe: 228
  • devd.txt
    85,2 KB · Aufrufe: 202
Hi @cabriofahrer ,

besten Dank für die Logs. Sie scheinen meinen Verdacht zu erhärten, dass ein Fehler in der Funktion vorliegt, die die devd-Events ließt. Passenderweise habe ich die Funktion neu geschrieben, sodass sie den "neuen" Seqpacket-Socket von devd nutzt. Ich würde Dich also bitten, mal den neuen Code zu testen:

Code:
# fetch http://freeshell.de/~mk/download/dsbmd-nothr-0.6.tgz && tar xf dsbmd-nothr-0.6.tgz && cd dsbmd-nothr-0.6 && make
# service hald stop
# service dsbmd onestop
# ./dsbmd
 
Hallo !
Mal so dazwischengequatscht !

@cabriofahrer...

Wozu brauchst du hal ? Ich habe hal aus
der RC.conf rausgeschmissen !
Ich benutze als Dateimanager Caja und
kann ohne hal , dank DSB* per Maus
wunderbar mounten&unmounten !

Versuchs mal komplett ohne hal !

Gruss

P.s: Auch policykit ! Das einzige wo man glaube ich nicht von weg kommt ist dbus !
 
Das einzige wo man glaube ich nicht von weg kommt ist dbus
das ist wohl so, doch meiner Erfahrung nach muss man das nicht unbedingt über die rc.conf starten lassen. Es gibt vielleicht noch Anwendungen, die sich darauf verlassen, aber bei mir wird etwa dbus unter dem User gestartet und zwar ganz automagisch, wenn Anwendungen das brauchen. Ich habe mir noch nicht die Mühe gemacht und nachgesehen, welche Anwendungen das tun, aber ich habe eben laufende dbus-Instanzen unter meinem User-Namen ohne etwas in der rc.conf drin zu haben. Auch der FF startet bei mir und arbeitet recht problemlos.
 
Hallo @marcel,

vielen Dank, ich habe gerade getestet und es scheint jetzt im Prinzip korrekt zu funktionieren: USB-Sticks und Daten-CD's lassen sich über caja mounten und wieder auswerfen. Allerdings: Wenn eine CD Probleme macht (weil vielleicht nicht richtig gelesen werden kann oder was auch immer), funktioniert nichts mehr (neue USB-Sticks werden nicht mehr gemountet, die CD wird nicht mehr freigegeben), bis man den Prozess von ./dsbmd killt und wieder neu startet. Dies mag natürlich auch an meiner alten Hardware liegen, wer weiß. Ich weiß natürlich auch nicht, wie viele Leute hier zwei Laufwerke haben und das Einlegen und Auswerfen von mehreren CD's getestet haben.
Jedenfalls tritt dieses Problem mit HAL nicht auf. Das Einzige, was mich an HAL richtig stört und weswegen ich gerne etwas anderes hätte (und daher scheint dsbmd so interessant), ist dass wenn man eine Datei mit einem nichtenglischen Symbol erstellt (z.B. "Fähre"), der Stick von HAL nicht mehr gemountet werden kann. So kann es natürlich auch passieren, wenn man unter Windows irgendetwas aus dem Internet herunterlädt und abspeichert.

Hallo !
Mal so dazwischengequatscht !

@cabriofahrer...

Wozu brauchst du hal ? Ich habe hal aus
der RC.conf rausgeschmissen !
Ich benutze als Dateimanager Caja und
kann ohne hal , dank DSB* per Maus
wunderbar mounten&unmounten !

Wie ich gerade berichtet habe, funktioniert dsbmd bei mir immernoch nicht 100%-ig zuverlässig. Und selbst wenn, müsste ich dann auf MATE umstellen. Und ich nutze nunmal KDE4. Auch die Vorteile von KDM sind hier an anderer Stelle von @pit234a dargestellt worden.

@marcel, trotzdem finde ich, dass Du da an einer ganz großen Sache dran bist. Wenn dsbmd komplett ausgereift ist, wäre der nächste Schritt, auf das FreeBSD-Team zuzugehen, um eine Anpassung von KDE an dsbmd zu erreichen. Dann könnte irgenwann einmal HAL komplett ersetzt werden.

Ich stehe natürlich weiterhin gerne zum Testen zur Verfügung!
 
Hallo !

Also wenn du KDE , Gnome und auch Mate benutzt , würde ich die Finger von
dsbmd lassen !
Mit Mate & dsbmd gleichzeitig hatte ich auch ständig merkwürdige Meldungen !

Diese DE`S haben Ihre eigenen Mechanismen (hal,policikit etc.) um mit
Hardware umzugehen !

Du versuchst eine Fliege mit zwei klatschen zu fangen !

Ich benutze hier Openbox mit dsbmd und habe Null Probleme !
Egal ob CD, USB-Stick (FAT32,exFAT,ntfs) oder MicroSD-Card per Reader !

Habe aber wie gesagt auch das ganz Linux-gewurschtel (hal,gvfs,policykit) deaktiviert !

Meiner Meinung nach funktioniert dsbmd ausgereift !!!
Es greift nur auf FBSD-Mechanismen zurück und so sollte es auch sein !

Gruss
:ugly:
 
Nun, @bluescreen, wir könnten an dieser Stelle natürlich wieder anfangen, uns allgemein über die leider vorhandene Abhängigkeit von Linuxismen zu lamentieren und hoffen, dass nicht auch noch systemd portiert werden muss... Doch anstatt einfach zu sagen, wenn Du alle existierenden meistgenutzten DE's benutzen willst, dann lass die Finger von dsbmd, würde ich eben einen Weg suchen, auf dsbmd aufmerksam zu machen, damit in Zukunft diese Linuxismen einfach nicht mehr nötig sind, auch nicht für die besten DE's.
Und dass an dsbmd offensichtlich noch etwas getan werden kann, haben ja meine letzten Testergebnisse gezeigt. Aber @bluescreen, hattest Du nicht vor Jahren mal hier beschrieben, wie Du Dir einen DE individuell zusammengeschustert hast? War das mit openbox? Denn openbox alleine hat ja gar nichts. Soweit ich weiß, noch nichtmal eine Rechtsklickmenü wie fluxbox.
 
Hi !

Da hast du wahr ! Ich hatte so einige DE`s ausprobiert und immer hakte es irgendwo !
So wie Sie sich auf Linux verhielten , taten Sie`s auf FBSD aber leider nicht immer !

Dann kam die "Erleuchtung" ---> DIY

Und : Openbox hat ein Rechtsklickmenü !

Gruss
 
Hi !

Also ein guter Anfang ist schon mal hier :

https://wiki.bsdforen.de/howto:crunchbsd

Ist stellenweise etwas veraltet ! ( automount :) ) !

Wenn ich anfange , kommt erst mal das Grundsystem , alle
conf`s so wie ich es möchte !
Dann Xorg und openbox ! Dann die Apps die ich brauche .
Und ich versuche z.b. nur GTK oder nur QT zu nutzen !

Meine Anlaufstellen :

https://urukrama.wordpress.com/openbox-guide/
https://cooltrainer.org/a-freebsd-desktop-howto/

und natürlich BSDforen.de !

Man muss sich einfach rantasten !

Gruss
:ugly:
 
dsbmd-1.0pre.tgz
vielen Dank, ich habe gerade getestet und es scheint jetzt im Prinzip korrekt zu funktionieren: USB-Sticks und Daten-CD's lassen sich über caja mounten und wieder auswerfen. Allerdings: Wenn eine CD Probleme macht (weil vielleicht nicht richtig gelesen werden kann oder was auch immer), funktioniert nichts mehr (neue USB-Sticks werden nicht mehr gemountet, die CD wird nicht mehr freigegeben), bis man den Prozess von ./dsbmd killt und wieder neu startet. Dies mag natürlich auch an meiner alten Hardware liegen, wer weiß. Ich weiß natürlich auch nicht, wie viele Leute hier zwei Laufwerke haben und das Einlegen und Auswerfen von mehreren CD's getestet haben.

Hi @cabriofahrer ,

wir machen erfreulicherweise Fortschritte! Ich habe jetzt den Teil, der Laufwerke pollt, in einen separaten Thread gepackt. Dadurch bleibt dsbmd weiter ansprechbar, auch wenn ein Laufwerk hängt. Über einen Test würde ich mich freuen:

Code:
# fetch http://freeshell.de/~mk/download/dsbmd-1.0pre.tgz && tar xf dsbmd-1.0pre.tgz && cd dsbmd-1.0pre && make
# service hald stop
# service dsbmd onestop
# ./dsbmd
 
Ich habe jetzt den Teil, der Laufwerke pollt, in einen separaten Thread gepackt. Dadurch bleibt dsbmd weiter ansprechbar, auch wenn ein Laufwerk hängt
wenn ich auch nur die Grundsätze noch verstehe, das finde ich eine super Idee. Um nicht zu sagen: so gehört das auch!
Mit Interesse und Freude sehe ich das Weiterkommen dieses Projektes, auch wenn ich selbst schon lange zufrieden bin und keine Probleme in meinem Betrieb auftauchen.

Allerdings möchte ich nochmals darauf hinweisen (was ich vor einigen Beiträgen schon mal sagte), dass wir hier in FreeBSD sind und die Entwickler von SW im OpenSource Umfeld aus verschiedenen Gründen fast ausnahmslos unter und für GNU/Linux arbeiten. Es wird keine allgemein gebräuchliche Lösung geben, die auf FreeBSD-Mechanismen fußt. Das höchst mögliche Ziel könnte vielleicht sein, dass auch andere BSDs dieses Projekt aufnehmen und für sich integrieren. Ich hielte das für sehr gut, würde es persönlich begrüßen, weiß aber nicht mal, ob das überhaupt für andere BSDs so einfach möglich ist. Also selbst die BSDs können sich da zu viel voneinander unterscheiden, um ein einfaches Portieren möglich zu machen. Der Teufel steckt im Detail, wie sich auch in der Entwicklung innerhalb dieses Threads immer wieder zeigt. Und @marcel ist alleine.
Ohne anmaßend zu werden. Ich habe ein kleines Script, eine Zeile lang, mit dem ich mit IBAN-Nummern in kleinere Blöcke zerlege, damit ich die bei der Eingabe an einem Bankautomaten besser ablesen und eingeben kann. Ein wirklich banales Beispiel. So lange ich dieses Script, die eine Zeile Code, nur für mich anwende, ist das gut und sicher. Würde man so etwas veröffentlichen, müsste man mit allerhand Fehlern und Missbrauch rechnen, um die Anwendung noch sicher laufen zu lassen. Es könnte sein, dass jemand vollkommen ungültige Kombinationen eingibt und guter Code müsste das natürlich prüfen. Mit dem zusätzlichen Aufwand könnte das schnell zu einem echt großen Projekt werden. So lange ich alleine das nutze, kommt diese Erweiterung gar nicht in Frage und @marcel hatte mehr oder weniger keine weiteren Anwender, als er diesen Code entwickelte (das nehme ich nun einfach mal an).
Erst im Laufe dieses Threads und dadurch, dass zusätzliche Nutzer den Code anwendeten, zeigten sich ein Verbesserungs-Bedarf an manchen Stellen.
Ich habe das Gefühl, dass das der Entwicklung gut getan hat.
Man sollte aber nicht den Wunsch haben, dass daraus nun ein Ersatz für HAL werden soll.
HAL hatte ganz andere Aufgaben und Zielsetzungen und die waren von Anbeginn um mehrere Zehnerpotenzen größer, als der Anspruch von DSBMD/DSBMC. Dass HAL heute oft nur als ein Helfer eines automatischen Mountens gesehen wird, ist auch der Entwicklung im Linux-Lager geschuldet, wo die grundsätzliche Idee zu HAL irgendwann aufgegeben wurde.
Deshalb möchte ich ganz scharf trennen.
DSBMD/DSBMD ist ein kleiner, FreeBSD fokussierter Mechanismus, der automatisches Mounten bewirkt.
HAL, wie der Name schon sagt, sollte eine spezielle und Betriebssystem-unabhängige Schicht sein, wo alle HW erkannt und geordnet wird und dann auch die Möglichkeit besteht, zu einzelnen HW-Ereignissen definierte Aktionen zu bestimmen. Das geht weit weit über das Erkennen und Behandeln von Wechsel-Medien hinaus und Mounten ist nur ein sehr kleiner Teil in diesem Aufgabenfeld.
In seinem Vollausbau hätte HAL eine Art Oberfläche für jedes System geschaffen, die gleich ausgewertet und bedient hätte werden können. Egal, ob Linux oder FreeBSD oder Solaris oder vielleicht sogar Windows, HAL hätte die komplette HW abstrahiert und dann für alle Systeme nach gleichen Regeln verfügbar gemacht.
Ich finde das nach wie vor eine sehr reizvolle Idee, aber der Umfang des Projektes uferte entsprechend der gestellten Aufgaben immer weiter aus und mit dem Aufkommen neuer Technologien in Linux, die das Benutzen von HAL nicht mehr notwendig machten, verfiel das zusehends. In FreeBSD hatte man HAL niemals nötig, aber man konnte es schließlich auch benutzen. Vor allem X ist hier zu nennen. Aber eben auch diverse Auto_Mount-Mechanismen.
HAL war aber niemals für FreeBSD gemacht und das führte auch schnell zu einigen Problemen. Manche konnten einfach gelöst werden, andere bestehen bis heute.
Weil es nie für FreeBSD gemacht wurde und weil FreeBSD es nie brauchte (anders als Linux), wollte ich selbst es immer los werden.
Besonders, wenn man diese unzählig vielen Zeilen
an Code nur dafür benutzt, ein eingelegtes Medium zu mounten, steht das für mich in keinem Verhältnis. Die drei Buchstaben, die es dazu braucht, die kann man dann doch viel einfacher von Hand eintippen.
Mit DSBMD/DSBMC änderte sich das für mich und ich nutze das nun nur noch zum schnellen und korrekten Einbinden von Wechseldatenträgern. Genau dafür und nur in FreeBSD. Ich bin damit sehr froh, aber ich möchte nicht erleben, dass daraus eine Art HAL-Ersatz wird.
Wie ich @marcel einschätze, ist da auch keine Gefahr im Verzug.
Die Entwicklung im GNU/Linux-Lager und speziell was die modernen DesktopEnvironments angeht, zielt an meinen eigenen Bedürfnissen vorbei. Irgendwie ist das eine Art demokratischer Prozess, wobei nicht die Mehrheit der Anwender originär die Entwicklung bestimmt (was vielleicht auch ganz gut ist), sondern das Angebot bestimmter Technologien, die von Entwicklern für evident gehalten werden. Dabei haben nach meinem Eindruck die großen proprietären Systeme den größten Einfluss und das kann man dann einfach so sagen: OpenSource äfft das nach, was von den Großen in der Branche vorgemacht wird.
Meine Wertung soll nicht bedeuten, das dieses Vorgehen grundsätzlich falsch ist.
Für mich passt das nicht.
Ich sehe aber durchaus auch das Potenzial, alte Unix-Prinzipien neu zu überdenken. Die Benutzung von Computern ist heute nicht mehr so, dass es da einen großen Rechner gibt, am dem sich zehn Professoren und zweihundert Studenten anmelden und mit unterschiedlichen Rechten arbeiten. Heute haben fast alle mehrere Rechner für sich selbst parallel im Gebrauch und wechseln damit auch ständig die Umgebung, sprich die Netzwerke und zwar ohne einen System-Administrator dabei zu haben, der alle Einstellungen für die jeweilige Umgebung und alle verfügbaren Rechner vornimmt und optimiert.

Kaum habe ich zwei Bier getrunken, neige ich zu extremem Abdriften. Das ist nun etwas ins OT geraten.
Was ich sagen will: lasst DSBMD/DSBMC klein und auf BSD fokussiert und wünscht euch keinen Ersatz für HAL. Wenn ihr HAL loswerden wollt und euer DE das braucht, dann verabschiedet euch lieber von diesem DE und nehmt was anderes.
 
Erstmal eine positive Rückmeldung und einen herzlichen Dank an @marcel! Es funktioniert jetzt! Caja konnte jetzt verschiedene Sticks und CD's in beiden Laufwerken mounten und wieder unmounten. Auch mein externes NTFS-Laufwerk wurde problemlos gemountet und wieder geunmountet. Ganz toll, letzteres geht mit HAL seit FreeBDSD 10.x nämlich leider nicht mehr.

Und nun zu den Ausführungen von @pit234a, die auch dieses Mal (der Effekt von zwei Bier scheint da durchaus positiv zu sein...^^) wieder sehr informativ waren und durch ihren zusätzlichen philosophischen Charakter erfreuen.

Man sollte aber nicht den Wunsch haben, dass daraus nun ein Ersatz für HAL werden soll.

Wenn HAL ursprünglich ein weitübergreifender Systemdienst für alle möglichen verschiedenen Aufgaben war, und mittlerweile unter FreeBSD nur noch ein Helfer zum Automounten ist (erfreulicherweise wurde HAL ja schon vor längerer Zeit aus Xorg rausgeschmissen, welches jetzt auch mit devd funktioniert), dann soll dsbmd ja nicht HAL als ganzes mit seinen eh nicht mehr genutzten Funktionen ersetzen, sondern nur die kleine Lücke für das Automounten schließen. Außer zum Automounten unter allen gängigen DE's wird es m.E. nur noch zum Powermanagement unter KDE4 gebraucht. Man bekommt da beim Starten von KDE eine entsprechende Fehlermeldung, wenn HAL nicht aktiviert ist.

Ich glaube, dass HAL unter FreeBSD nur so lange mitgeschleppt wurde, weil bisher niemand in der Lage war oder sich gekümmert hat, einen devd-basierten Automounter zu liefern, der mit den gängigen DE's zusammenarbeitet. Dies hat sich mit der hervorragenden Arbeit von @marcel aber jetzt gerade geändert. Ich habe soeben die Zusammenarbeit mit caja bestätigen können, seinerzeit hatte ich auch mit Thunar und pcmanfm getestet. Ich kann mir gut vorstellen, dass es jetzt mit Gnome3/Nautilus auch klappen würde.

Hat mal jemand mit enlightenment getestet? (Wie installiert man den überhaupt, ich glaube mit pkg install enlightenment alleine ist es nicht getan?)

Ich denke, es ist jetzt an der Zeit, dass @marcel seine tolle Entwicklung an die richtigen Leute heranträgt, vielleicht gibt es da ja eine positive Resonanz.

Für meinen Teil muss ich mir jetzt überlegen, ob ich,um dsbmd nutzen zu können, auf MATE/Slim umsteigen will, oder doch lieber bei KDE4 bleibe und dann doch weiterhin leider an HAL gebunden bleibe.

Für den Fall des Umsteigens auf MATE oder irgend etwas anderes müsste ich nur noch eins wissen: Wie starte ich "dsbmc-cli -a &" beim Booten automatisch?
 
Nun ja, ich nutze dsbmc unter plasma5 und kde4, weil ich keine Lust hatte, den polkit Kram manuell einzurichten.

Auch unter KDE komme ich klar mit dsbmc und habe solche Schwierigkeiten nicht, wie sie bei @cabriofahrer aufgetreten sind.
 
Zurück
Oben