• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Driver detects /dev/hde but node ceases to exist

xtknight

Elite Member
Previously I had completely disabled PATA support in my kernel due to a PATA controller causing problems. Now that I've bought another controller, I am trying to re-enable it. I selected my current controller's driver (pata_pdc2027x and its DMA equivalent [pdc202xx_new I think]) along with libata.

Should I use mknod or did I make a mistake in my config?

Pertinent dmesg excerpt:

[ 49.419554] PDC20268: IDE controller at PCI slot 0000:05:00.0
[ 49.419573] ACPI: PCI Interrupt 0000:05:00.0[A] -> GSI 20 (level, low) -> IRQ 20
[ 49.419584] PDC20268: chipset revision 2
[ 49.419587] PDC20268: ROM enabled at 0x80100000
[ 49.429614] PDC20268: PLL input clock is 16683 kHz
[ 49.459592] PDC20268: 100% native mode on irq 20
[ 49.459598] ide2: BM-DMA at 0x9000-0x9007, BIOS settings: hde😛io, hdf😛io
[ 49.459610] ide3: BM-DMA at 0x9008-0x900f, BIOS settings: hdg😛io, hdh😛io
[ 49.459620] Probing IDE interface ide2...
[ 50.131759] hde: TSSTcorpCD/DVDW SH-S182M, ATAPI CD/DVD-ROM drive
[ 50.845986] hdf: HP DVD Writer 420, ATAPI CD/DVD-ROM drive

The only thing is, /dev/hde and /dev/hdf do not exist.

ls: /dev/hd*: No such file or directory

Kernel version: Linux andy-desktop 2.6.20-rc4 #0 SMP Mon Jan 8 16:29:57 EST 2007 x86_64 GNU/Linux

(Edit: disabled emoticons)

Kernel config:
 
Is your Udev stuff working?

If not then the devices won't get made automaticly. I don't remember Debian off the top of my head (using CentOS right now), but you should be able manually make the devices by going:

cd /dev/
./MAKEDEV hde
./MAKEDEV hdf
 
I selected my current controller's driver (pata_pdc2027x and its DMA equivalent [pdc202xx_new I think]) along with libata.

The latter is the old drivers/ide driver and the former is the libata driver, both should support DMA just fine. And it looks like the old drivers/ide driver is what actually started up the card, but in either case it's up to udev to create the devices as drag mentioned.
 
Thanks. After a reboot it worked fine.

It was at /dev/.static/dev/hde though, so I mounted that, then suddenly /dev/hde and /dev/hdf appeared. I guess it's working regularly right now. I wonder what happened to my previous hde and hdf nodes. Maybe they just permanently disappeared after disabling IDE.

I suppose I'd like to use the newer module. Is there an easy way to prevent the other one from loading at bootup? I have heard to "blacklist" it and found several module blacklist files in my Ubuntu but I'm not sure whether or not that's the best thing to do. I blacklisted ide_cd due to my previous issues and it still loads anyway.

What improvements exist in libata over the older drivers? Do I even need the IDE section checked to use libata? (Which seems to be in a differently labeled section like "Serial ATA/Parallel ATA drivers (prod)" or similar)
 
The libata modules are the future, at some point in the future the drivers/ide modules will be removed. But some of the libata modules are still pretty immature, especially the PATA ones. And no you don't need anything from drivers/ide for them, libata uses the SCSI transport.
 
Well I'm still having an issue.

It still only shows up at /dev/.static/dev/hde. But if I access it at all (e.g. hdparm -d1 -k1 /dev/.static/dev/hde), /dev/hde appears. What's up with that?
 
Not sure, as long as the module gets loaded at startup udev should create the device for it. Accessing /dev/.static/dev/hde probably causes the kernel to load something (ide-disk maybe) which cause udev to notice and create the device node.
 
Back
Top