Comment 3 for bug 512142

Revision history for this message
pirx67 (pirx67) wrote :

The same problem occurs on my system 32-bit Linux on an AMD-K8 (Linux xxxx 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 01:26:53 UTC 2010 i686).

I can confirm that the pktcdvd code is compiled into the kernel and therefore not available as a module.

I have looked a little bit into the pktsetup tool's source code. The pktsetup tool needs access to the "/dev/pktdev/control" device. To get this device's minor number it parses the output of "/proc/misc" (see 'cat /proc/misc'). On older kernels the pktcdvd module shows as "pktcdvd" but on my Ubuntu Karmic kernel it shows up as "pktcdvd/control" in the list. Seems the kernel's output style for "/proc/misc" changed.

Because pktsetup doesn't find any line with a name exactly "pktcdvd" it assumes that the pktcdvd module isn't loaded and complains with "Can't find pktcdvd character device". The message "FATAL: Module pktcdvd not found." comes from the modprobe utility that pktsetup calls to load the pktsetup module if pktsetup couldn't find the control device's minor number in the first attempt.

I made a small patch that solves the issue with pktsetup. It relaxes the way the names are compared when parsing the output of "/proc/misc" in a way that it only compares the first 7 characters. Then both strings "pktcdvd" and "pktcdvd/control" match and the device's minor number can be detected.

With this patch the setup goes fine. But then start the weird things. I'll explain these more in depth in the next comment.