November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, November 1st, 2010 10:59 pm

Дано: машинка с контроллером USB2 EHCI. В lshw он выглядит так:
*-usb:4 UNCLAIMED
description: USB Controller
product: N10/ICH 7 Family USB2 EHCI Controller
vendor: Intel Corporation
physical id: 1d.7
bus info: pci@0000:00:1d.7
version: 01
width: 32 bits
clock: 33MHz
capabilities: pm debug cap_list
configuration: latency=0
resources: memory:d2104400-d21047ff

А в lspci так:
00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)

И этот девайс хронически несовместим с линуксовым драйвером ehci_hcd. При втыкании любого устройства в USB-порт в лог с частотой несколько раз в секунду начинает сыпаться ругань hub 2-0:1.0: unable to enumerate USB device on port 1. А очень хочется использовать воткнутый туда usb-wifi. Но если он туда воткнут с самого начала, то лог тоже начинает забиваться с самого начала, сразу после обнаружения usb-порта.

Итак, задача номер раз: на ходу отцепить девайс от драйвера ehci_hcd. Причем без пересборки ядра (ehci_hcd вкомпилён внутрь, а не загружается модулем). Подсказка: ответ был мной опубликован в одном сообществе соответствующей тематики несколько месяцев назад.

Задаче номер два: сделать так, чтобы это происходило автоматически при загрузке машины. rc.local не подходит – он отрабатывает сильно позже поднятия сети, а надо до. И вообще это надо сделать как можно раньше, чтобы не забивать лог ненужной руганью.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Tuesday, November 2nd, 2010 07:25 am (UTC)
> И вообще это надо сделать как можно раньше, чтобы не забивать лог ненужной руганью.

ты не написал дистрибутив, но inittab есть почти везде.
Tuesday, November 2nd, 2010 07:25 am (UTC)
PS. В Яндекс.Олимпиаде не участвовал.

:-P
Tuesday, November 2nd, 2010 07:43 am (UTC)
ubuntu 10.04. Нету там inittab'а. Там вместо него /etc/init/*.conf
Tuesday, November 2nd, 2010 08:38 am (UTC)
да, вот этого я и боялся. ну, сделай где-то там, в недрах этой конструкции.
Tuesday, November 2nd, 2010 08:31 pm (UTC)
Подразумевалось использование udev ;)
Wednesday, November 3rd, 2010 06:32 am (UTC)
И эти люди рассказывают мне про плохие формулировки вопросов. :)
Wednesday, November 3rd, 2010 07:39 am (UTC)
Там же написано: для победителей яндекс.олимпиады, они должны сами всё угадывать :)
Sunday, November 14th, 2010 05:03 pm (UTC)
Некоторые вот даже догадались: http://dil.livejournal.com/974194.html?thread=7354226#t7354226
Tuesday, November 2nd, 2010 08:47 pm (UTC)
по моему можно поблэклистить драйвер для устройства
точно не помню, увы...
Wednesday, November 3rd, 2010 07:40 am (UTC)
Можно заблэклистить внешний модуль. А тут он прибит гвоздиками в ядро. Или ты про что-то другое?
Wednesday, November 3rd, 2010 07:53 pm (UTC)
Да, про прибитость в ядре я и прозевал.
Wednesday, November 3rd, 2010 05:46 pm (UTC)
1. echo чего-то > /sys/куда-то
(точно не помню, в олимпиаде яндекса не участвовал, но фиксил баги в cs89x0, а потом скриптами заставлял работать его из под линукса в pnp-режиме, тогда я и узнал всё что вы хотели бы узнать о isa pnp но боялись спросить)
2. udev
Friday, November 5th, 2010 07:52 am (UTC)
Ну да, осталось понять, куда и что именно писать :)
А ISA PnP - это страшный ужас, да.