Feststellen, ob Rohling im Laufwerk

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
GregorS
Beiträge: 3198
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Feststellen, ob Rohling im Laufwerk

Beitrag von GregorS » 28.01.2010 20:09:42

Hallo zusammen!

Zunächst: Da meine Frage auch anderswo passen würde (Hardware), wäre es schön, wenn Crosspostings mit Followup möglich wären. Oder geht das?

Ein Rechner ohne Tastatur, Maus und Monitor soll zum Brennautomaten gemacht werden. Überlegung ist: Skript fragt regelmäßig (z.B. via cronjob) nach, ob sich Daten in einem bestimmten Verzeichnis befinden und ob ein frischer Rohling im Brenner ist. Ersteres ist Pipikram, zweiteres nicht so.

Gibt es eine Möglichkeit das Vorhandensein eines unbeschriebenen Rohlings im Brenner festzustellen? Z. B. via /proc oder so?

TIA+Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Feststellen, ob Rohling im Laufwerk

Beitrag von cosmac » 28.01.2010 20:22:34

hi,

kannst du nicht einfach das Brennprogramm starten? Das kann doch am ehesten unterscheiden, ob ein Rohling drin ist oder nicht. Genau genommen musst du ja auch erkennen können, ob der "Brand" mittendrin abgebrochen wurde. Wenn du daraus zwei verschiedene Fehlermeldungen machen kannst: umso besser, ansonsten bricht die Geschichte eben ab mit: "da ist kein brauchbarer Rohling im Brenner".

Für die Abfrage, ob neue Daten da sind, gibt es das überaus elegante inotifywait aus Debianinotify-tools.
Beware of programmers who carry screwdrivers.

Benutzeravatar
GregorS
Beiträge: 3198
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Feststellen, ob Rohling im Laufwerk

Beitrag von GregorS » 28.01.2010 20:27:47

Das ist eine gute Idee. Ich werde mal gucken, wie sich wodim bei Fehlern verhält.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Feststellen, ob Rohling im Laufwerk

Beitrag von gms » 28.01.2010 20:44:49

mit lshal könntes du auch suchen:

Code: Alles auswählen

gms1 ~ # lshal | grep volume.disc
  info.capabilities = {'volume.disc', 'volume', 'block'} (string list)
  volume.disc.capacity = 735051776  (0x2bd00000)  (uint64)
  volume.disc.has_audio = false  (bool)
  volume.disc.has_data = false  (bool)
  volume.disc.is_appendable = false  (bool)
  volume.disc.is_blank = true  (bool)
  volume.disc.is_rewritable = false  (bool)
  volume.disc.type = 'cd_r'  (string)
und hier die vollständige Ausgabe:

Code: Alles auswählen

udi = '/org/freedesktop/Hal/devices/volume_empty_cd_r'
  block.device = '/dev/sr0'  (string)
  block.is_volume = true  (bool)
  block.major = 11  (0xb)  (int)
  block.minor = 0  (0x0)  (int)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_model_DVD__RW_TS_L632D'  (string)
  info.capabilities = {'volume.disc', 'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  info.interfaces = {'org.freedesktop.Hal.Device.Volume', 'org.freedesktop.Hal.Device.Volume'} (string list)
  info.parent = '/org/freedesktop/Hal/devices/storage_model_DVD__RW_TS_L632D'  (string)
  info.product = 'Volume'  (string)
  info.udi = '/org/freedesktop/Hal/devices/volume_empty_cd_r'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0/fakevolume'  (string)
  org.freedesktop.Hal.Device.Volume.method_argnames = {'extra_options', 'extra_options'} (string list)
  org.freedesktop.Hal.Device.Volume.method_execpaths = {'hal-storage-eject', 'hal-storage-eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_names = {'Eject', 'Eject'} (string list)
  org.freedesktop.Hal.Device.Volume.method_signatures = {'as', 'as'} (string list)
  volume.block_size = 0  (0x0)  (int)
  volume.disc.capacity = 735051776  (0x2bd00000)  (uint64)
  volume.disc.has_audio = false  (bool)
  volume.disc.has_data = false  (bool)
  volume.disc.is_appendable = false  (bool)
  volume.disc.is_blank = true  (bool)
  volume.disc.is_rewritable = false  (bool)
  volume.disc.type = 'cd_r'  (string)
  volume.fstype = ''  (string)
  volume.fsusage = ''  (string)
  volume.fsversion = ''  (string)
  volume.is_disc = true  (bool)
  volume.is_mounted = false  (bool)
  volume.is_mounted_read_only = false  (bool)
  volume.is_partition = false  (bool)
  volume.label = ''  (string)
  volume.linux.is_device_mapper = false  (bool)
  volume.mount_point = ''  (string)
  volume.num_blocks = 4  (0x4)  (uint64)
  volume.size = 2048  (0x800)  (uint64)
  volume.uuid = ''  (string)
Gruß
gms

schwedenmann
Beiträge: 5643
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Feststellen, ob Rohling im Laufwerk

Beitrag von schwedenmann » 30.01.2010 19:57:38

Hallo

mit dvd+rw-mediainfo kannst du auch das gewünschte abfragen
joerg@Nathan:~$ dvd+rw-mediainfo /dev/hdd
INQUIRY: [HL-DT-ST][DVDRAM GSA-4163B][A104]
GET [CURRENT] CONFIGURATION:
Mounted Media: 1Ah, DVD+RW
Current Write Speed: 4.0x1385=5540KB/s
Write Speed #0: 4.0x1385=5540KB/s
Write Speed #1: 2.4x1385=3324KB/s
GET [CURRENT] PERFORMANCE:
Write Performance: 4.0x1385=5540KB/s@[0 -> 2295103]
Speed Descriptor#0: 02/2295103 R@3.3x1385=4584KB/s W@4.0x1385=5540KB/s
Speed Descriptor#1: 02/2295103 R@3.3x1385=4584KB/s W@2.4x1385=3324KB/s
READ DVD STRUCTURE[#0h]:
Media Book Type: 00h, DVD-ROM book [revision 0]
Media ID: MBIPG101/W04
Legacy lead-out at: 2295104*2KB=4700372992
READ DISC INFORMATION:
Disc status: complete
Number of Sessions: 1
State of Last Session: complete
Number of Tracks: 1
BG Format Status: complete
READ FORMAT CAPACITIES:
formatted: 2295104*2048=4700372992
26h(0): 2295104*2048=4700372992
READ TRACK INFORMATION[#1]:
Track State: complete
Track Start Address: 0*2KB
Free Blocks: 0*2KB
Track Size: 2295104*2KB
FABRICATED TOC:
Track#1 : 14@0
Track#AA : 14@2295104
Multi-session Info: #1@0
READ CAPACITY: 2295104*2048=4700372992
mfg
schwedenmann

Antworten