module loading order

Vikram Narayanan vikram186 at gmail.com
Wed May 11 12:08:28 EDT 2011


>> This is a question that arose from a older kernel ( 2.6.21 ) but I think
>> it's generic to all kernels. Actually this might not a question on the
>> kernel itself at all. So here it goes,
>>
>> I'm using a USB 3G modem with this kernel. The system loads three
>> modules for it: pl2303, option and usbserial. Problem is, it looks like
>> the order or loading is different ( I'm judging this by the order they
>> appear in lsmod output):
>>
>> Sometimes, lsmod says:
>> pl2303                 18628  0
>> option                  9664  0
>> usbserial              28296  2 pl2303,option
>>
>> And sometimes, it says:
>> option                  9664  0
>> pl2303                 18628  0
>> usbserial              28296  2 option,pl2303
>>
>> Problem is, if option is before pl2303, the device won't work properly.
>> So my question is: who decides which is loaded first, or, why does lsmod
>> give different order?
>
> It's random and there is no way to specify the order unless you make one
> module a dependancy of the other.
Isn't modules.dep file take care of this?

> And for these modules, they should not be dependant on each other, so
> you can't do that.
It does I guess. In my system, the modules.dep has,
kernel/drivers/usb/serial/pl2303.ko: kernel/drivers/usb/serial/usbserial.ko
Doesn't it mean that pl2303 is dependent on usbserial?

-
Thanks,
Vikram



More information about the Kernelnewbies mailing list