Using different combinations of udev/hotplug, I have been unable to get udev to create device nodes for my USB 100 Zip drive. According to dmesg, the device is detected as an scsi generic device (scsi0: SCSI emulation for USB Mass Storage devices), given the device name sg0. If I plug the device in with a disc, dmesg also reports disk sda and partition sda4. However, these nodes are not created in /dev until I do a "udevstart", which creates everything mentioned here. I have tried booting without hotplug as above, and when I emerge hotplug and rc-update add hotplug boot, the same behavior occurs except with the additional line "scsi.agent[12080]: disk at /devices/pci0000:00/0000:00:1f.4/usb2/2-1/2-1:1.0/host0/0:0:0:0". Also, when I remove the device, the nodes remain until I do another "udevstart" at which point they are deleted.
I don't understand. Are you using udev normally? Is hotplug-core installed? Is udev installed? Are you using udev to manage your /dev tree? When the device is added, the device node should also be added.
While I'm at summer camp and can't give much, I used hotplug-base and udev normally, and I tried using it with the tarball and without, as I recall. Udev was working for the dev tree, as we worked out with _dsd (I think that was his/her name) from IRC (deleting /dev/random and running udevstart or something along those lines).
If I remember right, the problem seemed to be that udev wasn't automatically creating any nodes, it only happened when you ran "udevstart". So you could plug a device in, and get info in dmesg about it, but the node didnt appear in /dev until you ran udevstart. Similarly, after unplugging, that node didnt disappear until you ran udevstart. We tried both with and without hotplug.
I'm having the exact same problem. Udev does not create the nodes in /dev. For example after a reboot, my sound (Audigy2) does not work. I have to run udevstart for the nodes to be created. Also, I just tried it with my USB-keychain. dmesg reports that new device (sda) is plugged in, but nothing appears in /dev. Only after I run udevstart, sda appears. I'm running a pure udev-system with no device-traball. My specs: Athlon64 3200+ Gentoo Linux 64bit (AMD64) udev-030 hotplug-20040401 Kernel 2.6.7-gentoo-r12 GCC 3.4.1
I don't have much of an idea how the kernel communicates with udev/hotplug in order to notify it of new events, but maybe the following information would help Is hotplug running? /etc/init.d/hotplug status Which runlevels is hotplug in? rc-update show | grep hotplug Which hotplug agent should be being called? cat /proc/sys/kernel/hotplug Which package owns that agent? qpkg -f $(cat /proc/sys/kernel/hotplug)
Relevant info: root@gothmog /home/janne # /etc/init.d/hotplug status * status: started root@gothmog /home/janne # root@gothmog /home/janne # rc-update show | grep hotplug hotplug | boot root@gothmog /home/janne # root@gothmog /home/janne # cat /proc/sys/kernel/hotplug cat: /proc/sys/kernel/hotplug: No such file or directory root@gothmog /home/janne # root@gothmog /home/janne # qpkg -f $(cat /proc/sys/kernel/hotplug) cat: /proc/sys/kernel/hotplug: No such file or directory root@gothmog /home/janne # The last two don't seem right,
That means you do not have CONFIG_HOTPLUG enabled in your kernel, right? Please fix this, as it is the way udev works. If you enable this in your kernel, it should work properly.
You're right, it wasn't enabled! I could have sworn that I had it enabled, but apparently that wasn't the case. I'm recompiling my kernel as we speak. I will let you know that did it fix it.
Tested, and it seems to be working now. Thank you all for your help :)
great.
bah, wrong state...
bah, wrong bug...