Не знаю даже как назвать эту тему. Есть маленькая эмбеддед система, в которую воткнут wifi модем. В процессе производства какой-то момент поменялся чипсет этого модема, и теперь запускается драйвер (carl9170), который хочет загрузить в модем свое firmware. Проблема в том, что на момент запуска драйвера файловая система не успевает смонтироваться, это происходит на одну секунду позже, и драйвер сообщает, что firmware загрузить не вышло. Драйвер вкомпилен в ядро, соответственно, для его запуска фс не нужна, предыдущий модем fw не требовал, и все работало.
Вопрос, что вообще определяет порядок запуска драйверов в ядре и как ему намекнуть, что надо бы подождать пару сек?
Очевидное решение - пересобрать с драйвером, вынесенным в виде модуля, но не оч хочется вообще пересобирать данное ядро, потому система, как я сказал уже, встроенная, и в данном случае это тянет пересборку еще драйвера взаимодействия с DSP и т.д.
Еще одно очевидное решение - перетыкать usb устройство после загрузки (программно, например), но оно тоже выглядит так себе.
rootwait в параметерах ядра, как я понимаю, тут не при делах, т.к. это значит подождать, пока смонтируется фс, а не падать сразу с ошибкой. В любом случае, rootwait и так задан в параметрах.
usb, wi-fi, ядро