Re: Problem zwischen atacontrol, devfs und gbde

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Thu, 9 Dec 2004 10:27:17 +0100

On Thu, Dec 09, 2004 at 10:08:43AM +0100, till toenges wrote:
> Hallo Liste,
>
> ich habe hier gerade ein "interessantes" Problem bei FreeBSD 5.3. Ich
> habe einen Wechselrahmen für ATA Platten. Darin eine Platte, die ich
> folgendermaßen eingerichtet habe:
>
> atacontrol attach 0
> dd if=/dev/zero of=/dev/ad0 bs=1k count=1
> fdisk -BI ad0
> disklabel -B -w ad0s1
> gbde init /dev/ad0s1c -f /root/backup/gbde.template -L /etc/gbde/b1
> # gbde.template wie /usr/src/sbin/gbde/template.txt mit sector_size=2048
> gbde attach /dev/ad0s1c -l /etc/gbde/b1
> newfs -U /dev/ad0s1c.bde
> mount /dev/ad0s1c.bde /mnt/
>
> Nachdem ich die Platte mal entfernt und wieder eingesetzt habe, gibt es
> aber ein Problem. Ich bekomme nach "atacontrol attach 0" in /dev zwar
> ein ad0, aber kein ad0s1 und auch kein ad0s1c. Und dann schlägt gbde
> attach fehl. Im einzelnen mache ich:
>
> atacontrol attach 0
> gbde attach /dev/ad0s1c -l /etc/gbde/b1
>
> Als Fehler bekomme ich nach der Passworteingabe entweder
>
> gbde: Attach to ad0s1c failed: Bad address

Solange GEOM die Partitionen nicht erkennt brauchst du mit
darüberliegendem Zugriff gar nciht erst anzufangen.
GEOM liest nach einem »cat /dev/null > /dev/ad0« die Partitionierung
neu ein - am besten nicht dabei vertippen, weil das device wirklich
zum schreiben geöffnet werden muss.

> Welches von beiden kommt scheint zufällig. Wenn ich aber stattdessen
>
> atacontrol attach 0
> sleep 10
> gbde attach /dev/ad0 -p x
> gbde attach /dev/ad0s1c -l /etc/gbde/b1
>
> mache, klappt es meistens. Manchmal kommt trotzdem ein Fehler.
>
> Das Abwarten und das "gbde attach /dev/ad0 -p x" erzeugen /dev/ad0s1 und
> /dev/ad0s1c. Ohne Pause nach dem atacontrol geht es auf diesem 233 Mhz
> K6 nicht. Besonders merkwürdig ist dabei auch, dass das Passwort für
> ad0s1c natürlich nicht "x" ist, aber das scheint für das Erzeugen von
> /dev/ad0s1* nicht relevant zu sein.
>
> Im log finde ich noch folgenden Hinweis:
>
> Dec 9 10:02:20 server kernel: ad0: 152627MB <SAMSUNG SP1604N/TM100-24>
> [310101/16/63] at ata0-master WDMA2
> Dec 9 10:02:25 server kernel: ad0: TIMEOUT - READ_DMA retrying (2
> retries left) LBA=0
> Dec 9 10:02:25 server kernel: ad0: FAILURE - READ_DMA timed out
>
> Da die zweite Meldung 5 Sekunden nach dem atacontrol kommt, scheint das
> Problem noch innerhalb der Aktionen zu liegen, die von atacontrol
> ausgelöst werden.
>
> Hat da irgendwer Ahnung was ich falsch mache, oder ist das ein Bug?

Klingt so, als wenn der IDE Controller die Platte nicht mag.
Du kannst dann natürlich auch erst weiterführende Aktionen machen, wenn
der Treiber die Platte in den Griff bekommen hat.
Wenn du grundsätzlich ein DMA Problem hast solltest du mal ohne Rahmen
versuchen und falls das dann nicht mehr auftritt den Rahmen zum
entsorgen geben.
Wenn es imme rnoch auftritt wird es wohl am IDE Controller oder Kabel
zu suchen sein.

> PS: Danke für den Tipp zum Wechselrahmen übrigens, das Teil von
> www.pollin.de geht super.

Ich würde obige Fehlermeldungen jetzt nicht unbedingt als super
bezeichnen.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 09 Dec 2004 - 10:28:53 CET

search this site