You are not logged in.
Pages: 1
After today's upgrade (initscripts and udev, but I think it's fault of the new initscripts) it seems like modprobe.conf isn't processed anymore. I have there:
install lirc-serial setserial /dev/ttyS0 uart none ; modprobe -i lirc-serial ; true
install em8300 modprobe adv717x ; modprobe -i em8300 ; true
and in the MODULES array I have lirc-serial and em8300 (both not detected bu udev). lirc-serial fails to load because setserial isn't executed. em8300 doesn't create all necessary device files because adv717x isn't loaded before em8300. Any ideas?
Offline
I've been thinking, maybe modprobe.conf is processed well and it's all because modules are loaded and create device files when the /dev directory still isn't set up (after all udev manages files in this directory, doesn't it?). If that's true, today's change should be reverted - no module can be loaded before udev is started.
Offline
Put these modules on udev's blacklist, and then load them from rc.conf MODULES. According to the new udev wiki page, the best way to do this is
MODULES=(!lirc-serial !em8300 lirc-serial em8300)
Offline
Put these modules on udev's blacklist, and then load them from rc.conf MODULES. According to the new udev wiki page, the best way to do this is
MODULES=(!lirc-serial !em8300 lirc-serial em8300)
With the new udev in testing, MODULES are loaded before udev. And yes, udev can happily manage modules loaded before it has started - that's the point of the 'uevents' subsystem. So, you can get away with just:
MODULES=(lirc-serial em8300)
However, let me suggest two things.... first off, I think you're dead on with the 'setserial' part - the node probably doesn't exist yet.
Let me point out something about how modprobe 'install' rules work:
install lirc-serial setserial /dev/ttyS0 uart none ; modprobe -i lirc-serial ; true
This line says "when lirc-serial is loaded, do this first" - lirc-serial is not actually loaded at that point - that's the reason it's modprobed right after the setserial command. If you really need this rule, you can simply add the proper serial module before lirc-serial in the MODULES array.
I'd say stick that line in rc.local, or, even better, make a rc.d+conf.d pair for setserial, which can be added to the package.
Secondly, I'd suggest using
MODULES=(.... adv717x em8300 ....)
and getting rid of that modprobe.conf rule altogether.
Offline
However, let me suggest two things.... first off, I think you're dead on with the 'setserial' part - the node probably doesn't exist yet.
Let me point out something about how modprobe 'install' rules work:install lirc-serial setserial /dev/ttyS0 uart none ; modprobe -i lirc-serial ; true
This line says "when lirc-serial is loaded, do this first" - lirc-serial is not actually loaded at that point
That's exactly what I want. The serial port needs to be configured before lirc-serial is loaded.
If you really need this rule, you can simply add the proper serial module before lirc-serial in the MODULES array.
The question is - which module is responsible for serial port? I do lsmod and can't see any suspects. Isn't the serial port support built into the kernel?
I'd say stick that line in rc.local, or, even better, make a rc.d+conf.d pair for setserial, which can be added to the package.
Secondly, I'd suggest usingMODULES=(.... adv717x em8300 ....)
and getting rid of that modprobe.conf rule altogether.
That's some option. But why not just use modprobe.conf the way it was meant to be used? The fact is that before today's upgrade it worked properly and the upgrade broke it.
Offline
As far as the serial port... no idea.
That's some option. But why not just use modprobe.conf the way it was meant to be used? The fact is that before today's upgrade it worked properly and the upgrade broke it.
It should work fine. Everything does use modprobe... the reason I suggested udev is that, well, udev is nutty. Udev tries to control much more than it should be controlling... so I'd rather have all rules on one place.
Offline
I've found that the real problem with lirc-serial is that when setserial is executed /dev/ttyS0 does not exist although serial port support is present in the kernel (at least the config looks like this). I'm pretty sure that the device file (and other supported by kernel at this time) should be there.
As for the em8300 module, the problem is that it creates device files by calling udev but udev is not running. And the device files will not be created when udev is started.
For me it's clear that udev must be executed first.
Offline
FYI, tpowa has fixed this and now my modprobe.conf works well again. The new initscripts and udev packages should show up soon.
Offline
Pages: 1