Натолкнулся на следующую проблему:
Установил FreeBSD 8.0-RELEASE в систему с материнской платой GA-M56S-S3 (chipset nForce 560 "MCP65").
При попытке скопировать с usb флешки столкнулся со странной работой USB контроллера:
При копировании файлов просходят спонтанные остановки копирования длящиеся от нескольких секунд до нескольких минут, при этом система никаких ошибок в лог не пишет. Для того чтобы отследить проблему я установил параметр hw.usb.ehci.debug в единицу тем самым включил отладку, после чего в процессе работы возник вот такой вот лог:
Jan 24 10:39:40 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:40 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:44 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:44 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:48 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:48 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:52 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:52 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:55 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:55 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:59 MAX kernel: ehci_timeout:1553: xfer=0xc743d3c8
Jan 24 10:39:59 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:59 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:39:59 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:39:59 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:40:03 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:40:03 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:40:04 MAX kernel: ehci_timeout:1553: xfer=0xc743d6b8
Jan 24 10:40:04 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:40:04 MAX kernel: ehci_set_hw_power:3842: Async is active
Jan 24 10:40:06 MAX kernel: ehci_root_intr:2040: port 8 changed
Jan 24 10:40:06 MAX kernel: ehci_set_hw_power:3830:
Jan 24 10:40:06 MAX kernel: ehci_set_hw_power:3842: Async is active
В моменты остановки/зависания копирования в лог пишется ehci_timeout:1553:.
Если же при этом переключить параметр hw.usb.ehci.no_hs в единицу, т.е. порт будет работать в режиме USB 1.0 (насколько я понял), то в логе ничего подобного не пишется и все работает прекрасно, но соотв. очень медленно. Неисправность USB контроллера исключена, т.к. в FreeBSD 7.2 проблем не было.
Вопрос, кто нибудь сталкивался с подобной проблемой на nForce и возможно как то ее решил?
Подозреваю что подобная ситуация будет проявляться на всех платах с nForce чипсетами...
FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Модератор: arachnid
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
-
Shad0w
- Сообщения: 31
- ОС: Win7, FreeBSD, Ubuntu
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Вот здесь как бы похожую тему пинают, можно посмотреть что к чему. Либо stable попробовать или до -р2 обновится, может починили уже.
з.ы.: Не помню на какой платформе и на каком релизе, но включение поддержки usb 2.0 съедало порядка 400 метров рамы. С тех пор почти автоматом на большинстве машин выкидываю 2.0 из ядра, благо еще с флэшками не часто приходится возиться. =)
з.ы.: Не помню на какой платформе и на каком релизе, но включение поддержки usb 2.0 съедало порядка 400 метров рамы. С тех пор почти автоматом на большинстве машин выкидываю 2.0 из ядра, благо еще с флэшками не часто приходится возиться. =)
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Shad0w писал(а): ↑25.01.2010 10:38Вот здесь как бы похожую тему пинают, можно посмотреть что к чему. Либо stable попробовать или до -р2 обновится, может починили уже.
з.ы.: Не помню на какой платформе и на каком релизе, но включение поддержки usb 2.0 съедало порядка 400 метров рамы. С тех пор почти автоматом на большинстве машин выкидываю 2.0 из ядра, благо еще с флэшками не часто приходится возиться. =)
У меня как раз p2 на этой машине... С 6.2 активно usb портами пользовался, ничего подобного до выхода 8.0 не замечал.
За ссылку спасибо проблема подобная но не совсем та. Такую траблу я тоже встречал, только на SD картах в 8.0.
Что то с USB нынче совсем перемудрили разработчики...
-
Shad0w
- Сообщения: 31
- ОС: Win7, FreeBSD, Ubuntu
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
AlexNT
Ну собственно они ж переписали USB подсистему, видно что-то недопилили. Думаю стоит отметится с такой проблемой, может поправят быстро.
з.ы.: Я тут недавно из благих побуждений обновил VPN сервак с mpd5 на борту до 8.0-RELEASE. И все бы хорошо, да только в netgraph по ходу тоже начудили, клиент подрубается практически всегда только со второго раза, при первом коннекте соединение отваливается с ошибкой присвоения айпи-адреса интерфейсу на стороне сервера. Так что ждем дружно исправлений...
Ну собственно они ж переписали USB подсистему, видно что-то недопилили. Думаю стоит отметится с такой проблемой, может поправят быстро.
з.ы.: Я тут недавно из благих побуждений обновил VPN сервак с mpd5 на борту до 8.0-RELEASE. И все бы хорошо, да только в netgraph по ходу тоже начудили, клиент подрубается практически всегда только со второго раза, при первом коннекте соединение отваливается с ошибкой присвоения айпи-адреса интерфейсу на стороне сервера. Так что ждем дружно исправлений...
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Shad0w писал(а): ↑26.01.2010 01:12AlexNT
Ну собственно они ж переписали USB подсистему, видно что-то недопилили. Думаю стоит отметится с такой проблемой, может поправят быстро.
з.ы.: Я тут недавно из благих побуждений обновил VPN сервак с mpd5 на борту до 8.0-RELEASE. И все бы хорошо, да только в netgraph по ходу тоже начудили, клиент подрубается практически всегда только со второго раза, при первом коннекте соединение отваливается с ошибкой присвоения айпи-адреса интерфейсу на стороне сервера. Так что ждем дружно исправлений...
Пришел ответ от разработчика:
Hi,
Your USB 2.0 controller most likely has the lost interrupt bug. Try adding
your USB 2.0 controller to the list of devices quirked in:
src/sys/dev/usb/controller/ehci_pci.c:
/* Dropped interrupts workaround */
switch (pci_get_vendor(self)) {
case PCI_EHCI_VENDORID_ATI:
case PCI_EHCI_VENDORID_VIA:
sc->sc_flags |= EHCI_SCFLG_LOSTINTRBUG;
if (bootverbose)
device_printf(self,
"Dropped interrupts workaround enabled\n");
break;
default:
break;
}
Сделал как посоветовали:
/* Dropped interrupts workaround */
switch (pci_get_vendor(self)) {
case PCI_EHCI_VENDORID_ATI:
case PCI_EHCI_VENDORID_VIA:
case PCI_EHCI_VENDORID_NVIDIA:
case PCI_EHCI_VENDORID_NVIDIA2:
sc->sc_flags |= EHCI_SCFLG_LOSTINTRBUG;
if (bootverbose)
device_printf(self,
"Dropped interrupts workaround enabled\n");
break;
default:
break;
}
Как доберусь до своих nForcов, проверю отпишу что получилось...
-
Shura
- Сообщения: 1537
- Статус: Оказывается и без KDE есть жизнь
- ОС: FreeBSD 8.0-RC2
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Отлично, ждём результатов!
Rock'n'roll мертв © БГ
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Соответсвенно баг остался, отписал снова, с выкладками... Снова ждем что скажут.
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Меня просветили что этот патч лишь только добавляет вывод сообщения в отладку. Отписал с логами, жду ответа/совета.
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
На данный момент веду переписку с разработчиком, каких либо результатов пока нет. Он мне пишет что править и что ему из логов отсылать. Пока обнадеживающих результатов нет. Посмотрел как сделан новый USB стек в 8мерке, даже я (не обладая особыми навыками в программировании) вижу что он переписан полностью...
-
AlexNT
- Сообщения: 433
- ОС: FreeBSD 8.2, ArchLinux
-
Stashek
- Сообщения: 86
Re: FreeBSD 8.0 - некорректная работа с USB (чипсет nForce)
Спасибо огромное всем, кто постил в этой ветке!
На моем компьютере, как раз, используется системная логика на основе чипсета nVidia nForce MCP73. И после перехода с 7 на 8 некорректно стали работать usb-устройства. Ни флешкой воспользоваться, ни в плеер музыку закачать, ни с фотика снимки скопировать.
Ядро пропатчил и пересобрал - проблема решилась.
Еще раз большое спасибо!
На моем компьютере, как раз, используется системная логика на основе чипсета nVidia nForce MCP73. И после перехода с 7 на 8 некорректно стали работать usb-устройства. Ни флешкой воспользоваться, ни в плеер музыку закачать, ни с фотика снимки скопировать.
Ядро пропатчил и пересобрал - проблема решилась.
Еще раз большое спасибо!
Косово je Србиjа!