Рубрики Блоги

Как не надо писать драйвера или приключения на рынке планшетов

Опубликовал
programmeritc

Жил был контроллер сенсорного экрана maXTouch 1386 производства корпорации Atmel. Имел он аж 1386 каналов — 33 для Х-координаты и 42 для Y. Для этого у него было еще 3 помощника для разводки каналов — maXTouch 154. Вместе они жили дружной четырёхчиповой семьей.

Жили они мирно и счастливо, пока однажды им не пришлось работать в планшетах с большими сенсорными экранами. И сенсорные панели в планшетах стали почему-то отказываться работать как надо или вообще посылали в лес за грибами.

Проблема эта известна уже давно, но новая буря началась, когда Dr.Web на Андроид примудрился отключать насовсем сенсорную панель на Samsung Galaxy Tab 10.1.

Разборки на форуме Dr.Web бурлят уже с сентября. Дошло почти до требований компенсировать стоимость планшета

Дело в том, что драйвер для контроллера написан как попало, что учитывая сжатые сроки разработки в наше время совсем не редкость. И когда контроллер возвращает код ошибки (по шине I2C на картинке выше) из-за любого всевозможного глюка, драйвер не очищает эту ошибочную информацию, а в драйвере Асуса возвращает -ENODEV (operation not supported by device или device does not exist), в драйвере Эйсера он же просто зависает намертво. У кривого драйвера Самсунга своя история — он может писать в EEPROM контроллера ненужный код, ибо обмен информацией с контроллером в драйвере чудесным образом завязали через системную виртуальную директорию, прочитав список файлов в которой любым способом, и происходит отказ.

Курс Frontend розробки від Mate academy.
Front-end розробник одна з найзатребуваніших професій на IT ринку. У Mate academy ми навчимо вас розробляти візуально привабливі та зручні інтерфейси. Після курсу ви зможете створювати вебсайти і застосунки, що вразять і користувачів, і роботодавців.
Дізнатися більше про курс

Контроллер maXTouch 1386 используется в Lenovo IdeaPad Tablet K1

Asus Eee Pad Transformer TR101

Acer Iconia Tab A500

Samsung Galaxy Tab 10.1

Motorola XOOM

и бог весть знает еще где.

Если у одних явных проблем не возникало, то у других драйвера оказались самым слабым местом.

Битва с драйвером Самсунга на XDA

Мысли alexst о Acer Iconia Tab A500 и некоторых других

Разбор полетов на Хабре

Disqus Comments Loading...
Поделитесь в соцсетях
Опубликовал
programmeritc
Теги AtmelMXT 1386