Nach Update 6.3->7.0 kein DVD-brennen mehr möglich

33MB ist genau die Menge die ein 16-Fach Laufwerk bei maximaler Geschwindigkeit liefern kann. Also verstehe ich nicht, wie ein schnellerer Bus etwas ändern sollte.
 
Vielleicht verwendet soul_rebel 80-pol Kabel und deshalb wird die falsche Geschwindigkeit erkannt und er muss sie auf UDMA33 herunterkorrigieren. Was ja, so jedenfalls laut FreeBSDuser und den Regeln der Mathematik, die gewünschte Geschwindigkeit ist. Es sei denn es gibt da draußen DVD-Laufwerke die schneller als 16-fach drehen.
 
Das war mist, was ich geschrieben habe. ich hatte das Laufwerk erst in PIO versetzt und dann in UDMA33 zurück. Dadurch sind die Fehler nicht mehr aufgetreten, so dass ich davon ausging, dass der "normale" Betriebsmodus schneller sei als UDMA33.
Woran es jetzt liegt, dass nach zurückschalten die Fehler trotzdem nicht auftreten, oder ob das Hochsetzen der Übertragung wirklich funktioniert hat kann ich nicht sagen.
 
Das große Problem an dieser ATA-Geschichte ist immer, dass es kaum Hardware gibt, die wirklich standardkonform arbeitet. Viele Hardware ist auch gleich noch buggy. Da sind Unmengen Qirks hier und Workarounds da notwendig... Einer der wirklich großen Vorteile von S-ATA und insbesondere AHCI ist, dass eine wesentlich höhere Standardkonformität seitens der Hardware erzwungen wird und generische Schnittstellen auch als solche funktionieren müssen. Aber natürlich wird es noch Jahre dauern, bis S-ATA und AHCI das klassische IDE mit seinem UDMA-Modi verdrängt haben.

Bis dahin: Ich baue euch gern ein Sysctl ein, so schwer ist das nicht. Aber gebt mir ein wenig Zeit, es wird ein bischen dauer...
 
Bis dahin: Ich baue euch gern ein Sysctl ein, so schwer ist das nicht. Aber gebt mir ein wenig Zeit, es wird ein bischen dauer...

Ja, bitte! :)
Bei mir funktioniert das Heraufsetzen des Timeouts auf 31 Ticks nämlich auch. Das Problem bei meinem Notebook-DVD-Drive ist nämlich das hier:
Code:
acd0: error issuing ATA PACKET command
Das kam nach ner Zeit, wenn der hald läuft. Dank des vergrößertem Timeouts klappt's jetzt fehlerfrei.

Yamagi: Welchen Timeout-Wert muss ich eigentlich genau hochsetzen? Ich habe ein CURRENT-System und in der von dir angegebenen Zeile steht nichts mehr von einem Timeout. Deswegen habe ich ihn überall von 5 auf 31 Ticks hochgesetzt.
 
Code:
static void 
ad_strategy(struct bio *bp)
{
    device_t dev =  bp->bio_disk->d_drv1;
    struct ata_device *atadev = device_get_softc(dev);
    struct ata_request *request;

    if (!(request = ata_alloc_request())) {
	device_printf(dev, "FAILURE - out of memory in start\n");
	biofinish(bp, NULL, ENOMEM);
	return;
    }

    /* setup request */
    request->dev = dev;
    request->bio = bp;
    request->callback = ad_done;
    request->timeout = 5;  <-- Das da!
    request->retries = 2;
    request->data = bp->bio_data;
    request->bytecount = bp->bio_bcount;
    request->u.ata.lba = bp->bio_pblkno;
    request->u.ata.count = request->bytecount / DEV_BSIZE;
    request->transfersize = min(bp->bio_bcount, atadev->max_iosize);

Das erste "request->timeout" in ad_strategy(struct bio *bp).
 
Aufkösung meines recht banalen Scherzes: Eine Festplatte. (hahahaha witzig)
EDIT: Normal, CD/DVD-Laufwerke haben immer UDMA33

Da muss ich widersprechen, ich habe zwei Rechner die im dmesg folgendes ausgeben:

Code:
acd0: DVDR <Optiarc DVD RW AD-7170A/1.02> at ata0-slave UDMA66

Der eine Rechner hat wie zu sehen einen Optiarc AD-7170A, der andere einen Optiarc AD-7173A.

Gruß c.
 
Also bei mir werden seid einiger Zeit Filme von DVD auch ruckhaft genauso wieder Ton wiedergegeben. Einfach grauenvoll.

@sou_rebel: Wie hast Du Dein Laufwerk in UDM333 und dann in den anderen Status wieder zurückversetzt? Wie genau hast Du das Problem in den Griff bekommen oder ist es immer noch murks?

Meine Meldungen seheh z.B. so aus, wenn ich eine kommerzielle DVD abspiele:
acd0: FAILURE - REPORT_KEY ILLEGAL REQUEST asc=0x6f ascq=0x04
acd0: FAILURE - REPORT_KEY ILLEGAL REQUEST asc=0x2c ascq=0x00
ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed
ata0: FAILURE - non aligned DMA transfer attempted
acd0: setting up DMA failed
acd0: FAILURE - REPORT_KEY ILLEGAL REQUEST asc=0x6f ascq=0x04
acd0: FAILURE - REPORT_KEY ILLEGAL REQUEST asc=0x2c ascq=0x00

Das hier ist mein Laufwerk:
<TSSTcorp CD/DVDW TS-L632D SC04> Removable CD-ROM SCSI-0 device

Gruß
 
Also ich muss sagen, dass sich bei mir das Problem in Luft aufgelöst hat. Habe das Brennen nach sämtlichen Updates von RELENG_7 und K3B mit Abhängigkeiten wieder probiert und habe keine Fehlermeldungen mehr erhalten.
 
Also bei mir werden seid einiger Zeit Filme von DVD auch ruckhaft genauso wieder Ton wiedergegeben. Einfach grauenvoll.

@sou_rebel: Wie hast Du Dein Laufwerk in UDM333 und dann in den anderen Status wieder zurückversetzt?
Wie Kamikaze beschrieben hat:
Code:
atacontrol mode acd0 pio4
Und mit udma2 dann zurück. Glaub aber dass es damit nicht wirklich zurückgesetzt wurde sondern einfach in pio blieb...
Wie genau hast Du das Problem in den Griff bekommen oder ist es immer noch murks?
Unverändert murks.
Inzwischen werde ich von Linux-usern dafür ausgelacht, dass ich keine DVDs gucken kann... ;'(
naja mit sowas muss man wohl leben :|
 
Es wurde letztens auf den Mailinglisten eine Lösung für dies Problem diskutiert, welche ein wenig ausgereifter als mein Hack ist. Leider hat man entschieden, dass es für 7.1 zu spät ist, da ATA immer zu schweren und kaum überblickbaren Nebenwirkungen reicht...
 
Es wurde letztens auf den Mailinglisten eine Lösung für dies Problem diskutiert, welche ein wenig ausgereifter als mein Hack ist. Leider hat man entschieden, dass es für 7.1 zu spät ist, da ATA immer zu schweren und kaum überblickbaren Nebenwirkungen reicht...

In CURRENT sind die Patches aber schon drin, oder? Ich hab gestern ein csup gemacht und da waren einige ATA-Änderungen von sos drin.
 
ich weiß nicht, ob diese speziellen Patches schon drin sind. In -CURRENT wurde ATA ja gerade modularisiert, um es in Zukunft besser weiterentwickeln zu können. Das sollte meines Wissens nach erst ein paar Wochen sacken.
 
Zurück
Oben