PDA

View Full Version : Problems with Maxtor ATA/100 Card and knoppix 3.9



MaldiGola
09-18-2005, 08:00 PM
I am using Knoppix 3.9 to to boot a machine I have with 2-30GB Maxtor drives that are connected to a Maxtor ATA/100 PCI card. The drives do not show up under /mnt but they do show up when I choose DMA Acceleration (I dont want to use it, just wanted to see what showed up). Here's what dmesg shows:

Probing IDE interface ide4...
hdi: Maxtor 5T030H3, ATA DISK drive
hdj: Maxtor 53073H6, ATA DISK drive
ide4 at 0x8000-0x8007,0x7802 on irq 9
Probing IDE interface ide5...
Probing IDE interface ide1...
Probing IDE interface ide2...
Probing IDE interface ide3...
Probing IDE interface ide5...
hdi: max request size: 128KiB
hdi: 60030432 sectors (30735 MB) w/2048KiB Cache, CHS=59554/16/63
hdi: cache flushes not supported
hdi: hdi1 hdi2 < hdi5 hdi6 > hdi3
hdj: max request size: 128KiB
hdj: 60030432 sectors (30735 MB) w/2048KiB Cache, CHS=59554/16/63
hdj: cache flushes not supported
hdj: hdj1 hdj2

Here is the output from lspci (the Maxtor card shows up as promise)

root@0[~]# lspci
0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
0000:00:04.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
0000:00:04.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
0000:00:04.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
0000:00:04.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
0000:00:07.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology Inc) PCI0648 (rev 01)
0000:00:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 07)
0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 07)
0000:00:0a.0 Ethernet controller: 3Com Corporation 3c900 10BaseT [Boomerang]
0000:00:0c.0 SCSI storage controller: Adaptec AHA-7850 (rev 03)
0000:00:0d.0 Unknown mass storage controller: Promise Technology, Inc. PDC20267 (FastTrak100/Ultra100) (rev 02)
0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R100 QD [Radeon 7200]
root@0[~]#

Anyway to get these mounted?

rwcitek
09-19-2005, 07:35 AM
Anyway to get these mounted?
Knoppix should be able to do it automagically. Out of curiosity, try this code:

(set -x
cat /proc/partitions
scanpartitions
fdisk -l /dev/hdi
fdisk -l /dev/hdj
) >& post.txt

Please post the output from post.txt

Regards,
- Robert
http://www.cwelug.org

MaldiGola
09-20-2005, 02:38 AM
Here you go:

root@0[~]# cat post.txt
++ cat /proc/partitions
major minor #blocks name

56 0 30015216 hdi
56 1 1028128 hdi1
56 2 1 hdi2
56 3 8032 hdi3
56 5 8393931 hdi5
56 6 20579233 hdi6
56 64 30015216 hdj
56 65 104391 hdj1
56 66 29904997 hdj2
240 0 1966656 cloop0
++ scanpartitions
++ fdisk -l /dev/hdi
++ fdisk -l /dev/hdj

rwcitek
09-29-2005, 05:14 AM
Here you go:

root@0[~]# cat post.txt
++ cat /proc/partitions
...
I suspect that Knoppix doesn't have the devices setup in /dev/. Try creating one like so:

(set -x
# disk "i"
mknod -m 0660 /dev/hdi b 35 0
fdisk -l /dev/hdi
) >& post.txt
Please post the output from post.txt. Does fdisk generate some output? If it does, then you can create the rest with this script:

# disk "i"
# mknod -m 0660 /dev/hdi b 35 0 # already created but included here for completeness
for m in $(seq 1 24) ; do
mknod -m 0600 /dev/hdi$m b 35 $m
done
chown root.disk /dev/hdi*

# disk "j"
mknod -m 0660 /dev/hdj b 35 64
for m in $(seq 1 24) ; do
mknod -m 0600 /dev/hdj$m b 35 $[$m + 64]
done
chown root.disk /dev/hdi*

Let us know how it goes.

Regards,
- Robert
http://www.cwelug.org

MaldiGola
09-29-2005, 12:54 PM
Here s the output:

root@0[~]# cat post.txt
++ mknod -m 0660 /dev/hdi b 35 0
++ fdisk -l /dev/hdi

rwcitek
09-29-2005, 02:10 PM
I just check on a the Major number on a Fedora Core machine that actually has /dev/hdi. On it the Major number is 56 and not 35. Let's try one more time:

(set -x
# disk "i"
mknod -m 0660 /dev/hdi b 56 0
fdisk -l /dev/hdi
) >& post.txt

In fact here's a listing of the devices for the drive and first partition:

$ ls -la /dev/hd[a-z]{,1}
brw-rw---- 1 root disk 3, 0 Sep 15 2003 /dev/hda
brw-rw---- 1 root disk 3, 1 Sep 15 2003 /dev/hda1
brw-rw---- 1 root disk 3, 64 Sep 15 2003 /dev/hdb
brw-rw---- 1 root disk 3, 65 Sep 15 2003 /dev/hdb1
brw-rw---- 1 root disk 22, 0 Sep 15 2003 /dev/hdc
brw-rw---- 1 root disk 22, 1 Sep 15 2003 /dev/hdc1
brw-rw---- 1 root disk 22, 64 Sep 15 2003 /dev/hdd
brw-rw---- 1 root disk 22, 65 Sep 15 2003 /dev/hdd1
brw-rw---- 1 root disk 33, 0 Sep 15 2003 /dev/hde
brw-rw---- 1 root disk 33, 1 Sep 15 2003 /dev/hde1
brw-rw---- 1 root disk 33, 64 Sep 15 2003 /dev/hdf
brw-rw---- 1 root disk 33, 65 Sep 15 2003 /dev/hdf1
brw-rw---- 1 root disk 34, 0 Sep 15 2003 /dev/hdg
brw-rw---- 1 root disk 34, 1 Sep 15 2003 /dev/hdg1
brw-rw---- 1 root disk 34, 64 Sep 15 2003 /dev/hdh
brw-rw---- 1 root disk 34, 65 Sep 15 2003 /dev/hdh1
brw-rw---- 1 root disk 56, 0 Sep 15 2003 /dev/hdi
brw-rw---- 1 root disk 56, 1 Sep 15 2003 /dev/hdi1
brw-rw---- 1 root disk 56, 64 Sep 15 2003 /dev/hdj
brw-rw---- 1 root disk 56, 65 Sep 15 2003 /dev/hdj1
brw-rw---- 1 root disk 57, 0 Sep 15 2003 /dev/hdk
brw-rw---- 1 root disk 57, 1 Sep 15 2003 /dev/hdk1
brw-rw---- 1 root disk 57, 64 Sep 15 2003 /dev/hdl
brw-rw---- 1 root disk 57, 65 Sep 15 2003 /dev/hdl1
brw-rw---- 1 root disk 88, 0 Sep 15 2003 /dev/hdm
brw-rw---- 1 root disk 88, 1 Sep 15 2003 /dev/hdm1
brw-rw---- 1 root disk 88, 64 Sep 15 2003 /dev/hdn
brw-rw---- 1 root disk 88, 65 Sep 15 2003 /dev/hdn1
brw-rw---- 1 root disk 89, 0 Sep 15 2003 /dev/hdo
brw-rw---- 1 root disk 89, 1 Sep 15 2003 /dev/hdo1
brw-rw---- 1 root disk 89, 64 Sep 15 2003 /dev/hdp
brw-rw---- 1 root disk 89, 65 Sep 15 2003 /dev/hdp1
brw-rw---- 1 root disk 90, 0 Sep 15 2003 /dev/hdq
brw-rw---- 1 root disk 90, 1 Sep 15 2003 /dev/hdq1
brw-rw---- 1 root disk 90, 64 Sep 15 2003 /dev/hdr
brw-rw---- 1 root disk 90, 65 Sep 15 2003 /dev/hdr1
brw-rw---- 1 root disk 91, 0 Sep 15 2003 /dev/hds
brw-rw---- 1 root disk 91, 1 Sep 15 2003 /dev/hds1
brw-rw---- 1 root disk 91, 64 Sep 15 2003 /dev/hdt
brw-rw---- 1 root disk 91, 65 Sep 15 2003 /dev/hdt1

Regards,
- Robert
http://www.cwelug.org

MaldiGola
10-01-2005, 03:43 PM
Here you go:

++ mknod -m 0660 /dev/hdi b 56 0
++ fdisk -l /dev/hdi

Disk /dev/hdi: 30.7 GB, 30735581184 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdi1 * 1 128 1028128+ 6 FAT16
/dev/hdi2 129 3735 28973227+ f W95 Ext'd (LBA)
/dev/hdi5 129 1173 8393931 7 HPFS/NTFS
/dev/hdi6 1174 3735 20579233+ 7 HPFS/NTFS

After issuing a mount command:

mount: special device /dev/hdi6 does not exist

rwcitek
10-01-2005, 04:29 PM
++ mknod -m 0660 /dev/hdi b 56 0
++ fdisk -l /dev/hdi

Disk /dev/hdi: 30.7 GB, 30735581184 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdi1 * 1 128 1028128+ 6 FAT16
/dev/hdi2 129 3735 28973227+ f W95 Ext'd (LBA)
/dev/hdi5 129 1173 8393931 7 HPFS/NTFS
/dev/hdi6 1174 3735 20579233+ 7 HPFS/NTFS

Woo-hoo! Success! Well, at least you can now see the drive and partitions with fdisk.

After issuing a mount command:
mount: special device /dev/hdi6 does not exist
Right. That's because only one device was made. /dev/hdi is the device file for the entire drive. You now need to make the rest of the devices, at a minimum devices hdi1 through hdi6 which correspond to partitions 1-6 on drive hdi. You can do that with the 'for' loops like so (similar to my previous post but with the Major number adjusted to 56):

# disk "i"
# mknod -m 0660 /dev/hdi b 56 0 # already created but included here for completeness
for m in $(seq 1 24) ; do
mknod -m 0600 /dev/hdi$m b 56 $m
done
chown root.disk /dev/hdi*

# disk "j"
mknod -m 0660 /dev/hdj b 56 64
for m in $(seq 1 24) ; do
mknod -m 0600 /dev/hdj$m b 56 $[$m + 64]
done
chown root.disk /dev/hdj*
or you can do the first six manually by typing this:

# disk i
# mknod -m 0660 /dev/hdi b 56 0 # if already done, you can skip this line
mknod -m 0660 /dev/hdi1 b 56 1
mknod -m 0660 /dev/hdi2 b 56 2
mknod -m 0660 /dev/hdi3 b 56 3
mknod -m 0660 /dev/hdi4 b 56 4
mknod -m 0660 /dev/hdi5 b 56 5
mknod -m 0660 /dev/hdi6 b 56 6
chown root.disk /dev/hdi*
# disk j
mknod -m 0660 /dev/hdj b 56 64
mknod -m 0660 /dev/hdj1 b 56 65
mknod -m 0660 /dev/hdj2 b 56 66
mknod -m 0660 /dev/hdj3 b 56 67
mknod -m 0660 /dev/hdj4 b 56 68
mknod -m 0660 /dev/hdj5 b 56 69
mknod -m 0660 /dev/hdj6 b 56 70
chown root.disk /dev/hdj*

After you've run the above, then run this code:

( set -x
fdisk -l /dev/hdi
fdisk -l /dev/hdj
rebuildfstab -r
cat /etc/fstab
) >& post.txt
Please post the output from post.txt.

Regards,
- Robert
http://www.cwelug.org

MaldiGola
10-01-2005, 10:06 PM
Ok, here's the output:

++ fdisk -l /dev/hdi

Disk /dev/hdi: 30.7 GB, 30735581184 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdi1 * 1 128 1028128+ 6 FAT16
/dev/hdi2 129 3735 28973227+ f W95 Ext'd (LBA)
/dev/hdi5 129 1173 8393931 7 HPFS/NTFS
/dev/hdi6 1174 3735 20579233+ 7 HPFS/NTFS
++ fdisk -l /dev/hdj

Disk /dev/hdj: 30.7 GB, 30735581184 bytes
255 heads, 63 sectors/track, 3736 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdj1 * 1 16 128488+ 83 Linux
/dev/hdj2 17 147 1052257+ 82 Linux swap / Solaris
/dev/hdj3 148 3736 28828642+ 83 Linux
++ rebuildfstab -r
++ cat /etc/fstab
/proc /proc proc defaults 0 0
/sys /sys sysfs noauto 0 0
/dev/pts /dev/pts devpts mode=0622 0 0
/dev/fd0 /mnt/auto/floppy auto user,noauto,exec,umask=000 0 0
/dev/cdrom /mnt/auto/cdrom auto user,noauto,exec,ro 0 0
# Added by KNOPPIX
/dev/hdi1 /mnt/hdi1 vfat noauto,users,exec,umask=000 0 0
# Added by KNOPPIX
/dev/hdi5 /mnt/hdi5 ntfs noauto,users,exec,ro,umask=000 0 0
# Added by KNOPPIX
/dev/hdi6 /mnt/hdi6 ntfs noauto,users,exec,ro,umask=000 0 0
# Added by KNOPPIX
/dev/hdj1 /mnt/hdj1 ext3 noauto,users,exec 0 0
# Added by KNOPPIX
/dev/hdj2 none swap defaults 0 0
# Added by KNOPPIX
/dev/hdj3 /mnt/hdj3 ext3 noauto,users,exec 0 0

Thank you for all your help!
Now... why did I need to go thru all this?

Rich

rwcitek
10-01-2005, 11:10 PM
Thank you for all your help!
That output looks fantastic. You should now be able to mount your drives.


Now... why did I need to go thru all this?
I don't know the really technical details. But I can give you some handwaving details. ;)

In Linux (like Unix) everything is a file: a file, a directory, the screen, the keyboard, etc. Your disks and partitions are also files. In your case the "files" for your drives and partitions were missing. Why were they missing? Probably to save on space to get other items on the CD. So, what you did was create files with mknod. mknod links a device to a file. For example, 'mknod -m 0660 /dev/hdi b 56 0' links the device at Major number 56 with Minor number 0 to the file /dev/hdi. It also defines the device as a block device with the option 'b' and assigns it permissions with 0660. Why Major 56 and Minor 0? I have no idea. It's probably defined somewhere, I just don't know where. Why /dev/hdi? It turns out that that is an arbitrary name. You could name it /dev/my_favorite_drive. But by convention IDE drives are named hd[a-z].

Does that clear things up? Post back if not.

BTW, you will have to recreate those files this every time you reboot the LiveCD, unless you remaster your own CD or use the "save configuration" command and modify the knoppix.sh script. If you would like a hand with either of those, post back.

Glad to hear things are working. And thank you for posting back with your experiences.

Regards,
- Robert
http://www.cwelug.org

MaldiGola
10-01-2005, 11:38 PM
Robert,
I understand what you're saying. I guess my question is more toward "Was this a driver issue with the Promise card?" or "If the devices were there, were were'nt they recognized?"

Thanks,
Rich