LINUX.ORG.RU

А у меня на планшете CentOS, а у вас …


15

7

[обзор/отчет с парой вопросов]

Вообщем пришел мой Teclast X98 Air (Atom Z3735D, C5KN, с Android).

Подключив usb-клаву неделю стучал по всем кнопкам, начиная с Del, пока понял, что BIOS-а у меня нет. Пришлось взять BIOS от винды.

Подключил hdd от своего десктопа (то же Baytrail, J1800, CentOS7, elrepo-kernel, xorg-x11-drv-intel-2.99.916, последние linux-firmware-20141013). Увидел свет (X-ы запустились).

Беглый обзор (lspci, lsusb) показал, что у меня кроме видеоадаптера, больше ничего и нет ... ;)

Короче, пересобрав ядро (понатыкав галочек для всяких SDIO/GPIO/LPSS/SOC/I2C/SPI) и воспользовавшись советами и патчами умных людей (Adam Williamson, Bastien Nocera) пилящим похожий планшет (Onda v975w), после почти месяца ковыряний, имею следующее:

Работает:

Видео — Отлично. VLC играет fullhd при 50% нагрузке процессора. Пара шероховатостей: экран вверх ногами (требуется fbcon=rotate:2, xrandr --output eDP1 --rotate inverted), все разрешения экрана, кроме максимального, неправильные/повернутые (требуется генерировать новые моделайны).

eMMC/MicroSD — работает. Чем новее ядро, тем лучше. На 3.18 hdparm -t /dev/mmcblk0p1 ~100 MB/sec.

Touchscreen — работает. В BIOS выбрать touchscreen Atmel и поставить драйвер для Goodix.

Wi-Fi — работает со сторонним драйвером (старый правда, в андройде намного новее). Не поддерживает iw (только iwconfig) и NM (видит как проводное соединение).

Акселерометр — работает. с патчем. cat /sys/bus/iio/devices/iio\:device0/in_accel_[x,y,z]_raw показывает положение планшета в пространстве. И куда это можно присобачить?

Кнопачки — работают стандартно («power» — 116, «vol+» - 115 , «vol-» - 114). Правда systemd/logind «power» именно как «power button» не распознает и не засыпает. Просыпается планшет нормально. Вообщем крутить или udev (?), или настройки WM.

Подсветка — работает, регулируется xbacklight.

Виртуализация — поддерживается. ХРюша в Virtulbox-е «летает».

Audio — работает хреново. Распознается как звуковая карта с >100 control-ми!? Самому нужную комбинацию вкл/выкл подобрать не удалось, нашел здесь. После чего звук потихоньку захрипел.

НЕ РАБОТАЕТ:

Состояние батареи — не работает из-за бага в ACPI. Судя по bugzilla оно работало с патчем в 3.16, потом сломали. Неужели нельзя просто поправить ACPI?

Bluetooth — не работает. Должен поддерживаться тем же драйвером, что и Wi-Fi (rtw_btcoex_enable=1), но похоже данной опции не достаточно. Возможно дело в rfkill, на какой-то версии ядра было два переключателя (один был точно «off», но Wi-Fi работал). Сейчас в rfkill list пусто.

Камеры — не работают. В android-е есть драйвера atomisp-* (Intel ATOM Platform ISP Driver) и, насколько понял, конфигурационные файлы для конкретных камер (*.cpf). Все исходники atomisp которые я находил были для ядер 3.0-3.4 … короче, пока даже не пытался.

Видеодекодер PowerVR VXD392 — вроде есть, вроде пилят. Ждем.

WiDi — х/з

Encryption controller 00:1a.0 — х/з

Прочее

работает только с сlocksource=tsc.
RTC можно поменять только из BIOS (установка с помощью date не сохраняется при перезагрузке).
BIOS смог прошить только из под android (затерев его). С fastboot что-то не срослось. Так что второй раз … прошивать из под винды всю прошивку заново?!

ИТОГО

В общем, мне для счастья осталось настроить две вещи: увидеть состояние батареи и включить bluetooth.
(Ну и настроить IceWM для работы на экране 1536х2048 и touchscreen-ом ;)

Ну вот, в принципе, и все вопросы :) Верю, к новому году будет у меня полноценный планшет с полноценным linux-ом :)

P.S. Ставить буду наверное все-таки Fedora 21 (32bit).

★★★★★
Ответ на: комментарий от w1nner

Нахера такие как вы нужны на ЛОРе? Своим кукареканием эфир только забиваете.

Deleted
()
Ответ на: комментарий от RussianNeuroMancer

С текущей версией драйвера этот загрузчик всё ещё нужен, или уже нет?

Ну прям последнюю версию я не ставил, но не похоже. Там даже тех (которые есть в rtl8723bs_bt) файлов firmware нет. Поставь, проверь.

Единственное та нога gpio за которую мне приходится дергать у тебя может быть другая или вообще необходимости за что-то дергать может не быть.

arson ★★★★★
() автор топика
Ответ на: комментарий от RussianNeuroMancer

Где это дело в DSDT смотреть

Ищешь секцию Device (BTH0), типа:

            Device (BTH0)
            {
                Name (_HID, "OBDA8723")  // _HID: Hardware ID
                Name (_DEP, Package (0x02)  // _DEP: Dependencies
                {
                    GPO2,
                    GPO0
                })
                Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
                {
                    Zero,
                    Zero
                })
                Name (_S4W, 0x02)  // _S4W: S4 Device Wake State
                Name (_S0W, 0x02)  // _S0W: S0 Device Wake State
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Name (UBUF, ResourceTemplate ()
                    {
                        UartSerialBus (0x0001C200, DataBitsEight, StopBitsOne,
                            0xC0, LittleEndian, ParityTypeEven, FlowControlHardware,
                            0x01E0, 0x0020, "\\_SB.URT1",
                            0x00, ResourceConsumer, ,
                            )
                        GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullUp, 0x0000,
                            "\\_SB.GPO2", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0011
                            }
                        GpioIo (Exclusive, PullUp, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0035
                            }
                        GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, IoRestrictionOutputOnly,
                            "\\_SB.GPO0", 0x00, ResourceConsumer, ,
                            )
                            {   // Pin list
                                0x0034
                            }
                    })
                    Return (UBUF) /* \_SB_.URT1.BTH0._CRS.UBUF */
                }
Методом тыка понял, что нога 34.
Потом в /sys/class/gpio, /sys/kernel/debug/gpio ищешь группу gpio, GPO0 - получается INT33FC:00 (а по номерам ног она оказалась последней!).

arson ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.