Wive-NG routers firmware (dsl/rtnl/mt).
Главная > Другое > Документация > Allwinner A10/A31/A** Livesuit + Linux 64bit + USB

Allwinner A10/A31/A** Livesuit + Linux 64bit + USB


Linux64bit+LiveSuit+USB3 для Linux`оидов:

§то делать если LS останавливается сразу после щелчка по кнопке "форматировать"?
Оказалось LiveSuit не дружит с xhci_hcd драйвером да и вообще с USB3.0 контроллерами.
Решение тут одно, заставить Linux работать с контроллерами используя "старый" ehci_hcd (благо интелёвые контроллеры обратно совместимы). И так...

1) добавляем xhci_hcd в блэклист modprobe/modules.preload (см документацию к своему дистрибутиву)
2) добавляетм в modules preload ehci_hcd (см документацию к своему дистрибутиву)
3) для usb_core в добавляем опции options usbcore old_scheme_first=1 use_both_schemes=1 autosuspend=0 иначе будет шиться через раз (см документацию к своему дистрибутиву)
4) ядру в конфигурации загрузчика передаём параметр acpi_osi=Linux
5) в bios найти опцию включающую поддержку USB3.0 при старте системы (у меня она называется - Enable USB3.0 on start for support in DOS) и отключить её
6) пересобирайем aw_usb драйвер используя флаги -O0 -fno-strict-overflow -fno-delete-null-pointer-checks (см документацию по сборке модулей ядра к своем дистрибутиву)

Так же перед п6 нужно слегка поправить сам aw_usb драйвер (идёт в составе LiveSuit.run и распаковывается в /tmp откуда можно его выловить):

--- awusb.c 2012-12-21 09:10:51.000000000 +0700
+++ awusb.c.new 2014-01-19 04:50:11.000000000 +0700
@@ -112,7 +112,7 @@
.
init_waitqueue_head(&aw->wait_q);
.
- dev_info(&aw->aw_dev->dev, "************awusb driver v1.3 aw opened.**********\n");
+ printk("aw opened.\n");
.
return 0;
}
@@ -123,7 +123,7 @@
.
aw->isopen = 0;
.
- dev_info(&aw->aw_dev->dev, "aw closed.\n");
+ printk("aw closed.\n");
return 0;
}

Иначе будем ловить эпизодические NULL pointer dereference при вызове dev_info если девайс внезапно отвалился (что бывает не редко, особенно когда шнур кривой).Вообще можно было добавить проверку, но информация эта особого смысла не имеет, вообще можно тупо закоментировать, но я для отладки оставил.Собсно и всё.P.S. В случае подобных проблем на Windows имеет смысл поискать как заставить её принудительно переключать USB в 2.0.


Rambler's Top100
Locations of visitors to this page