Bug 25709

Summary: Сломан драйвер asix
Product: Branch p6 Reporter: Roman Savochenko <rom_as>
Component: kernel-image-std-defAssignee: aspsk <aspsk>
Status: REOPENED --- QA Contact: QA p6 <qa-p6>
Severity: major    
Priority: P3 CC: aen, aspsk, boris, boyarsh, ldv, mike, mithraen, oddity, rider, sbolshakov, shrek, silicium, sin, vitty, vsu, zerg
Version: не указана   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Binary module (i586) none

Description Roman Savochenko 2011-06-02 23:27:04 MSK
Имею USB->Ethernet адаптер D-Link Corp. DUB-E100 Fast Ethernet [asix]

На ядре 2.6.32, только не текущее el-smp, и ранее этот адаптер прекрасно работает.
На той же машине, с Сизифом и похоже всеми ядрами в нём, замечаю, что PPPOE соединение не идёт, перебрасываю на встроенный Ethernet контроллер - всё нормально.

Т.е. драйвер asix корректно грузится, интерфейс создаётся, линк обнаруживается, а пакеты в сеть не идут. Сетевые экраны даже не трогал.

Подключаю через этот адаптер ноутбук и вижу, что никакие пакеты ни от одного ни другого не идут.
Comment 1 Roman Savochenko 2011-06-02 23:29:24 MSK
На рядом установленном Branch 5.1 и ядре 2.6.32 из p5 всё работает.
Comment 2 aspsk 2011-06-06 13:02:15 MSK
(В ответ на комментарий №0)
> Имею USB->Ethernet адаптер D-Link Corp. DUB-E100 Fast Ethernet [asix]
> 
> На ядре 2.6.32, только не текущее el-smp, и ранее этот адаптер прекрасно
> работает.
> На той же машине, с Сизифом и похоже всеми ядрами в нём, замечаю, что PPPOE
> соединение не идёт, перебрасываю на встроенный Ethernet контроллер - всё
> нормально.
> 
> Т.е. драйвер asix корректно грузится, интерфейс создаётся, линк обнаруживается,
> а пакеты в сеть не идут. Сетевые экраны даже не трогал.
> 
> Подключаю через этот адаптер ноутбук и вижу, что никакие пакеты ни от одного ни
> другого не идут.

А что написано в dmesg после попытки послать пакет?
Comment 3 aspsk 2011-06-06 13:51:38 MSK
Какая у вас архитектура? Я соберу вам модуль от вендора для std-def, чтобы вы его потестили. А то похоже, что asix сломан в ванильном ядре довольно давно:

https://bugzilla.kernel.org/show_bug.cgi?id=16831
https://bugzilla.kernel.org/show_bug.cgi?id=30952
Comment 4 Roman Savochenko 2011-06-06 16:12:32 MSK
(В ответ на комментарий №3)
> Какая у вас архитектура? Я соберу вам модуль от вендора для std-def, чтобы вы
> его потестили. А то похоже, что asix сломан в ванильном ядре довольно давно:
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=16831
> https://bugzilla.kernel.org/show_bug.cgi?id=30952
Похоже на эту багу.
Архитекура: x86.
Comment 5 aspsk 2011-06-06 16:16:42 MSK
Created attachment 4962 [details]
Binary module (i586)

Binary module for i586 arch
Comment 6 aspsk 2011-06-06 16:20:35 MSK
(В ответ на комментарий №5)
> Created an attachment (id=4962) [details]
> Binary module (i586)
> 
> Binary module for i586 arch

Ммм да, это для std-def-2.6.38-alt8.1
Comment 7 Roman Savochenko 2011-06-07 00:03:10 MSK
Установил.
Вроде работает, однако сильно не тестировал.
Comment 8 Repository Robot 2011-06-09 09:28:07 MSK
kernel-image-std-def-1:2.6.39-alt1 -> sisyphus:

* Tue Jun 07 2011 Anton Protopopov <aspsk@altlinux> 1:2.6.39-alt1
- Update to 2.6.39.1
- Update ipt_NETFLOW to 1.7.1 (ALT 25697)
- Build asix.ko as a separate module with src from vendor (ALT 25709)
- Build u200.ko as a separate module (ALT 24265)
- Update aufs to the latest one
- Don't build broken subfs, fglrx, dahdi, lirc
Comment 9 Sergey Bolshakov 2011-06-09 18:37:23 MSK
модуль asix, раздаваемый с ядром, у меня вполне работает, 2.6.39 (не std-def)
железка trendnet tu2-et100, ASIX AX88772 USB 2.0 Ethernet.
Comment 10 aspsk 2011-06-09 18:43:41 MSK
(В ответ на комментарий №9)
> модуль asix, раздаваемый с ядром, у меня вполне работает, 2.6.39 (не std-def)
> железка trendnet tu2-et100, ASIX AX88772 USB 2.0 Ethernet.

А раздаваемый вендором?
Comment 11 Sergey Bolshakov 2011-06-09 18:52:45 MSK
раздаваемый вендором у меня проверять желания нет.
Comment 12 Roman Savochenko 2011-06-10 23:59:12 MSK
(В ответ на комментарий №8)
> - Don't build broken subfs, fglrx, dahdi, lirc
Скорее интерфейсы ядра очередной раз изменили, причём в пределах уже выпущенной версии 2.6.39.
Comment 13 Roman Savochenko 2011-06-18 13:49:07 MSK
Переоткрываю для P6 в виду актуальности этой проблемы тут.
Comment 14 AEN 2011-06-18 13:54:57 MSK
(В ответ на комментарий №13)
> Переоткрываю для P6 в виду актуальности этой проблемы тут.

Проверили для atd-def-alt8.2 из p6?
Comment 15 Roman Savochenko 2011-06-18 17:19:01 MSK
(В ответ на комментарий №14)
> (В ответ на комментарий №13)
> > Переоткрываю для P6 в виду актуальности этой проблемы тут.
> 
> Проверили для atd-def-alt8.2 из p6?

Нет тут такого. Последний atd-def-alt8.1 и на нём не работает.
Comment 16 AEN 2011-06-19 00:43:04 MSK
После перехода p6 на 2.6.39 эта бага уйдет. 
2aspsk & boyarsh: Обсудите, пожалуйста. Если смена ядра p6 планируется в течение недели, то фиксить 2.6.38 не надо. В противном случае -- придется.
2vitty: el-smp хорошо бы исправить.
critical->normal
Comment 17 Michael Shigorin 2011-06-19 01:15:48 MSK
(In reply to comment #16)
> После перехода p6 на 2.6.39 эта бага уйдет. 
На всякий -- в 2.6.39 регрессов относительно много, его выпускали по сокращённой программе.
Comment 18 AEN 2011-06-19 01:19:13 MSK
В 39.1 и выходящем днями 39.2 много исправлений.
Если есть сведения о конкретных регрессах, -- сообщите, пожалуйста.
Comment 19 AEN 2011-06-19 05:45:38 MSK
(В ответ на комментарий №17)
> (In reply to comment #16)
> > После перехода p6 на 2.6.39 эта бага уйдет. 
> На всякий -- в 2.6.39 регрессов относительно много, его выпускали по
> сокращённой программе.

(В ответ на комментарий №18)
> В 39.1 и выходящем днями 39.2 много исправлений.
> Если есть сведения о конкретных регрессах, -- сообщите, пожалуйста.

Новый fglrx, который сегодня собран в Сизиф, поддерживает 2.6.39
Comment 20 AEN 2011-06-20 23:29:54 MSK
(В ответ на комментарий №19)
> (В ответ на комментарий №17)
> > (In reply to comment #16)
> > > После перехода p6 на 2.6.39 эта бага уйдет. 
> > На всякий -- в 2.6.39 регрессов относительно много, его выпускали по
> > сокращённой программе.
> 
> (В ответ на комментарий №18)
> > В 39.1 и выходящем днями 39.2 много исправлений.
> > Если есть сведения о конкретных регрессах, -- сообщите, пожалуйста.
> 
> Новый fglrx, который сегодня собран в Сизиф, поддерживает 2.6.39
lirc входит в 2.6.39 . Проблема с dahdi и subfs , но они не собираются лечиться от BKL. 
Если не будут найдены серьезные возражения, то в ближайшее время переходим в p6 на 2.6.39.2. Что исправит обсуждаемую ошибку.
Comment 21 AEN 2011-06-25 15:51:47 MSK
2aspsk@: Прошу собрать ядро 39.2 test-only в p6 asap и  попросить в списках рассылки и на форуме его тестировать.
Comment 22 aspsk 2011-07-01 17:11:17 MSK
Ядро 2.6.39.2 в t6 и p6
Comment 23 Roman Savochenko 2011-07-03 00:14:37 MSK
(В ответ на комментарий №20)
> Если не будут найдены серьезные возражения, то в ближайшее время переходим в p6
> на 2.6.39.2. Что исправит обсуждаемую ошибку.
Не совсем исправляет.
Замечено исчезновение интерфейса данного драйвера примерно через полчаса работы.
Восстанавливается перегрузом модуля.

Кроме того, в этом ядре, уже по серьёзному, вылезла проблема с радио на TV-тюнере, багу переоткрыл рядом.
Comment 24 AEN 2011-07-03 00:24:17 MSK
(В ответ на комментарий №23)
> (В ответ на комментарий №20)
> > Если не будут найдены серьезные возражения, то в ближайшее время переходим в p6
> > на 2.6.39.2. Что исправит обсуждаемую ошибку.
> Не совсем исправляет.
> Замечено исчезновение интерфейса данного драйвера примерно через полчаса
> работы.
> Восстанавливается перегрузом модуля.

Ну, тогда ждем исправления от апстрима.
Comment 25 Roman Savochenko 2011-07-03 17:34:45 MSK
(В ответ на комментарий №24)
> > Замечено исчезновение интерфейса данного драйвера примерно через полчаса
> > работы.
> > Восстанавливается перегрузом модуля.
> 
> Ну, тогда ждем исправления от апстрима.
Ждём, только не исправления драйвера asix, а ядра 2.6.39, в данном смысле!
Сегодня загрузился с ядра 2.6.38-std-def-alt8.1 и уже почти день как на нём проработало с активным соединением.

Похоже это ещё одна регрессия ядра 2.6.39, после разлома API и т.д. На себе я уже насчитал две активные регрессии этого ядра.

P.S. Может в репозитории стабильной платформы откатиться назад на версию 2.6.38, в качестве основного ядра?
Comment 26 AEN 2011-07-03 19:16:29 MSK
(В ответ на комментарий №25)
> P.S. Может в репозитории стабильной платформы откатиться назад на версию
> 2.6.38, в качестве основного ядра?

В 2.6.39 много полезного. Еще есть время до релизов, давайте подождем.
А 2.6.28-alt8.1 можно пока положить в сторонке, -- да, Антон?
Comment 27 Roman Savochenko 2011-07-03 19:18:03 MSK
(В ответ на комментарий №25)
> > Ну, тогда ждем исправления от апстрима.
> Ждём, только не исправления драйвера asix, а ядра 2.6.39, в данном смысле!
> Сегодня загрузился с ядра 2.6.38-std-def-alt8.1 и уже почти день как на нём
> проработало с активным соединением.
Сглазил. Только что откинулся интерфейс и на 2.6.38, единственно, что дольше прожил. Но на ядре 2.6.32 из p5 такого точно не замечается.
Comment 28 Michael Shigorin 2011-07-06 16:43:30 MSK
2 aen, aspsk: собсно из-за подобных случаев со сложными codebase'ами приходится порой принимать решение _отложить_ копирование между бранчами, чтоб хоть возможность выкрутиться была.  Неприятная форкообразующая причина, конечно.
Comment 29 AEN 2011-07-14 23:44:38 MSK
(В ответ на комментарий №28)
> 2 aen, aspsk: собсно из-за подобных случаев со сложными codebase'ами приходится
> порой принимать решение _отложить_ копирование между бранчами, чтоб хоть
> возможность выкрутиться была.  Неприятная форкообразующая причина, конечно.

Нужны архивы бранчей.
Comment 30 Roman Savochenko 2011-07-23 22:29:29 MSK
Похоже это не проблема asix, или как минимум не только.
Заметил следующие моменты:
Необратимое отключение происходит в случае возникновения проблем на интерфейсе, т.е. пакеты или не идут или идут с затором. При этом в логе наблюдаю:
[ 7217.493602] eth1: rxqlen 0 --> 10
[ 7217.493668] eth1: rxqlen 10 --> 20
[ 7217.493747] eth1: rxqlen 20 --> 30
[ 7217.493795] eth1: rxqlen 30 --> 40
[ 7217.493828] eth1: rxqlen 40 --> 44
[ 7217.546888] eth1: ax88772 - Link status is: 0
[ 7264.650872] eth1: ax88772 - Link status is: 1

После этого помогает только отключение и подключение.

Однако самое интересное тут то, что я попробовал подключить кабель к стационарной (forcedeth) сетевой карте и увидел ровно такую-же проблему! Т.е. интерфейс отключился и линк по нему перестал обнаруживаться при заведомо корректном подключении и мигающим лампочкам:
[root@roman ~]# ethtool eth0
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: Unknown!
        Duplex: Unknown! (255)
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: g
        Link detected: no

Склонен предположить, что проблема в сетевом стеке ядра, где некорректно обрабатывается переполнение буфера приёмо-передачи!
Comment 31 Roman Savochenko 2011-07-23 22:36:53 MSK
(В ответ на комментарий №30)
> После этого помогает только отключение и подключение.
В случае с USB->Eth можно физически передёрнуть адаптер.
Для обоих также можно исправить проблему перегрузом модуля ядра asix или forcedeth.

Как мы понимаем, сетевой стек в этом случае сбрасывается, что ещё раз указывает на него!
Comment 32 AEN 2011-07-24 02:00:20 MSK
(В ответ на комментарий №30)
> Похоже это не проблема asix, или как минимум не только.

Проявляется на других адаптерах? На каких?
Comment 33 Roman Savochenko 2011-07-24 08:28:26 MSK
(В ответ на комментарий №32)
> (В ответ на комментарий №30)
> > Похоже это не проблема asix, или как минимум не только.
> 
> Проявляется на других адаптерах? На каких?
nVidia Corporation MCP51 Ethernet Controller (rev a3)

[root@roman ~]# dmesg | grep forcedeth
[    8.110081] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[    8.110333] forcedeth 0000:00:14.0: PCI INT A -> Link[APCH] -> GSI 21 (level, low) -> IRQ 21
[    8.110338] forcedeth 0000:00:14.0: setting latency timer to 64
[    8.625901] forcedeth 0000:00:14.0: ifname eth0, PHY OUI 0x5043 @ 1, addr 00:1a:92:81:8c:4d
[    8.625906] forcedeth 0000:00:14.0: highdma pwrctl gbit lnktim desc-v3
[   23.303131] forcedeth 0000:00:14.0: eth0: no link during initialization