Исходники MTK. Сборка. Обсуждение.

Прошивки и их моды\ Кухни\ Игры и приложения\ Различные настройки\ Различные вопросы по ОС Android и WM и т.п.

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

Куратор темы: clarc

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#1 » linerty » 05 ноя 2012, 21:00

Здесь не бюро заказов. Советом помочь можем, если есть интерес... Не хочется заниматься самому - договаривайтесь...
Рекомендуется прочесть ВСЮ тему от корки до корки. Тогда у вас появится половина знании о сборке ядер на МТК


ПроцессорУстройствоИсходное сообщениеРезерв 1gitСостав
MT6516Alcatel OT890Наш форумЗеркало 1Только ядро, урезано.
MT6573Alcatel 918DНаш форум, XDA   Зеркало 1 Только ядро, урезано.
MT6575AcerНаш форумЗеркало 1Только ядро.
MT6577Huawei U8836DНаш форумЗеркало 1Зеркало 2Только ядро, урезано.
MT6589Fly IQ446 MagicНаш форумТолько ядро, полные

 Нормальные исходники, с огромным кол-вом драйверов

Инструкции:
Инструкция по сборке ядер для MTK(4pda)
Инструкция по сборке ANDROID из исходников (4pda)
Инструкции по сборке прошивки для MT65*3 (forum.china-iphone.ru)
Подробная инструкция по сборке boot.img для MT6575 (Philips W732). Читать от сообщения и дальше!!! + Набор готовых исходников https://github.com/Demeterp/w732_kernel_src (3.0.13)
Исходный код 3.4.67 (mt6577) можно скачать тут, выбирайте платформу поближе к своей.
Исходный код 3.4.5 (mt6577), полностью собираемый и полностью рабочий тут
Исходники ядра Philips Xenium W8510 (MT6589) от китайцев
 Полезное из обсуждения (обновлено 13 января 2015)

 Архив
Последний раз редактировалось clarc 14 июл 2015, 23:46, всего редактировалось 43 раз(а).
  • 40

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#41 » dan-av » 01 дек 2012, 14:11

Скомпилировал cifs.ko и md4.ko под МТ6577 из исходников TCL S600
Модули подгружаются. Шара монтируется, но когда захожу в папку - зависон и перегруз. Аппарат Newman N1
У кого какие идеи?
Модули
  • 3

Аватара пользователя
dan-av
Интересующийся
 
Сообщения: 65
Зарегистрирован: 24 сен 2012, 00:01
Откуда: Украина
Репутация: 131

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#42 » 05DC » 02 дек 2012, 21:59

dan-av писал(а) on 01 дек 2012, 14:11:Скомпилировал cifs.ko и md4.ko под МТ6577 из исходников TCL S600
Модули подгружаются. Шара монтируется, но когда захожу в папку - зависон и перегруз. Аппарат Newman N1
Модули

Подтверждаю, что модули подгружаются.
Попробовал смонтировать 2 разные шары.
В MountManager обе шары cмонтировать не удалось:
sh: <stdin>[1]: /sysytem/bin/busybox: not executable: magic 7F45
На CifsManager обе шары смонтировал удачно - доступ к данным получил (УРА!).
Кириллицу внутри шар не опознает (это известно -нужен модуль nls_utf8.ko).
Файлы на шаре открываются, на 480р видео с шары получил легкие фризы, но зависания пока нет.
Телефон Haipai x710d. Прошивка Lenovo_P700i_S106. CifsManager v.1.5a
  • 0

Аватара пользователя
05DC
Интересующийся
 
Сообщения: 49
Зарегистрирован: 21 июн 2012, 13:43
Репутация: 4

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#43 » legale » 05 дек 2012, 00:16

05DC писал(а) on 02 дек 2012, 21:59:
dan-av писал(а) on 01 дек 2012, 14:11:Скомпилировал cifs.ko и md4.ko под МТ6577 из исходников TCL S600
Модули подгружаются. Шара монтируется, но когда захожу в папку - зависон и перегруз. Аппарат Newman N1
Модули

Подтверждаю, что модули подгружаются.
Попробовал смонтировать 2 разные шары.
В MountManager обе шары cмонтировать не удалось:
sh: <stdin>[1]: /sysytem/bin/busybox: not executable: magic 7F45
На CifsManager обе шары смонтировал удачно - доступ к данным получил (УРА!).
Кириллицу внутри шар не опознает (это известно -нужен модуль nls_utf8.ko).
Файлы на шаре открываются, на 480р видео с шары получил легкие фризы, но зависания пока нет.
Телефон Haipai x710d. Прошивка Lenovo_P700i_S106. CifsManager v.1.5a

а разве utf8 уже не в ядре?

iocharset=utf8

мтк машино-тракторная компания )
  • 1

Аватара пользователя
legale
Интересующийся
 
Сообщения: 16
Зарегистрирован: 01 ноя 2012, 18:52
Репутация: 17

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#44 » 05DC » 05 дек 2012, 15:21

legale писал(а) on 05 дек 2012, 00:16:а разве utf8 уже не в ядре?
iocharset=utf8

Вы правы, оказывается,что в ядре!
Подтверждаю, с этой опцией имена файлов с кириллицей с шары отдаются корректно.
  • 0

Аватара пользователя
05DC
Интересующийся
 
Сообщения: 49
Зарегистрирован: 21 июн 2012, 13:43
Репутация: 4

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#45 » Demeter » 15 дек 2012, 23:57

Товарищи! Во первых большое спасибо, что вы есть!

Я правильно понял, что полных исходников ядра MTK 6575 ни у кого нет и ядро скомпилить нельзя?

Попробовал пойти по проторенному legale пути сегодня

1) взл исходники TCL_E928, дополнил драйверами от Acer,
2) поставил android-toolchain-eabi-linaro-4.7-2012.11-1-2012-11-16_21-55-58-linux-x86.tar.bz2
3 ) запустил make menuconfig PROJECT=jrdsh15_td_ics
отключил в нем NETFILTER, т.к. не компилится он никак
4) попробовал сбилдить make PROJECT=jrdsh15_td_ics
все у меня скомпилилось, но при линковке упало
Код: Выделить всё
LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: modpost: Found 4 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
../mediatek/platform/mt6575/kernel/drivers/built-in.o: In function `mt_combo_audio_ctrl':
/data/TCL_E928/kernel/../mediatek/platform/mt6575/kernel/core/include/mach/mt_combo.h:39: undefined reference to `mt_combo_audio_ctrl_ex'
/data/TCL_E928/kernel/../mediatek/platform/mt6575/kernel/core/include/mach/mt_combo.h:39: undefined reference to `mt_combo_audio_ctrl_ex'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `mt_wifi_resume':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/core/board.c:333: undefined reference to `mtk_wcn_cmb_stub_func_ctrl'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `mt_wifi_suspend':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/core/board.c:384: undefined reference to `mtk_wcn_cmb_stub_func_ctrl'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm_remove':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1873: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm_probe':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1856: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm8963_i2c_probe':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1760: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `.LANCHOR1':
:(.data+0x15e4): undefined reference to `nt35510_lcm_drv'
make: *** [.tmp_vmlinux1] Error 1


после make CONFIG_DEBUG_SECTION_MISMATCH=y понятнее не стало :(
../mediatek/platform/mt6575/kernel/drivers/built-in.o: In function `mt_combo_audio_ctrl':
/data/TCL_E928/kernel/../mediatek/platform/mt6575/kernel/core/include/mach/mt_combo.h:39: undefined reference to `mt_combo_audio_ctrl_ex'
/data/TCL_E928/kernel/../mediatek/platform/mt6575/kernel/core/include/mach/mt_combo.h:39: undefined reference to `mt_combo_audio_ctrl_ex'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `mt_wifi_resume':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/core/board.c:333: undefined reference to `mtk_wcn_cmb_stub_func_ctrl'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `mt_wifi_suspend':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/core/board.c:384: undefined reference to `mtk_wcn_cmb_stub_func_ctrl'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm_remove':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1873: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm_probe':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1856: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `akm8963_i2c_probe':
/data/TCL_E928/kernel/../mediatek/custom/out/jrdsh15_td_ics/kernel/magnetometer/akm8963.c:1760: undefined reference to `get_cust_mag_hw'
../mediatek/custom/out/jrdsh15_td_ics/kernel/built-in.o: In function `.LANCHOR1':
:(.data+0x15e4): undefined reference to `nt35510_lcm_drv'
make: *** [.tmp_vmlinux1] Error 1



Вопрос - у меня руки кривые или исходников действительно не хватает? Я надеюсь на первое ;)

И можно сразу пару чайниковых вопросов
- можно ли стянуть со своего телефона или из прошивки конфиг ядра? (w732 Philips)
- можно ли отдельно скомпилить драйвер ACCDET как модуль, а то там бага злобная, не дает гарнитурой нормально пользоваться. (описание бага см http://4pda.ru/forum/index.php?showtopic=408963)
  • 1

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#46 » Moyses » 16 дек 2012, 01:34

Demeter писал(а) on 15 дек 2012, 23:57:Вопрос - у меня руки кривые или исходников действительно не хватает? Я надеюсь на первое ;)

Судя по тому, что дело зашло так далеко, проблема не в кривых руках. :)
Можно попробовать убрать из конфига этот "magnetometer". Но все равно работоспособность собранного ядра остается под вопросом.
И можно сразу пару чайниковых вопросов
- можно ли стянуть со своего телефона или из прошивки конфиг ядра? (w732 Philips)

Вряд ли. Хотя, если ядро собрано с соответствующим конфигом, этот конфиг доступен где-то в /proc/config (или /proc/config.gz).
- можно ли отдельно скомпилить драйвер ACCDET как модуль, а то там бага злобная, не дает гарнитурой нормально пользоваться. (описание бага см http://4pda.ru/forum/index.php?showtopic=408963)

Тут шансов больше, если есть исходники самого драйвера - см. опыт legale по сборке cifs.ko.
  • 1

Аватара пользователя
Moyses
Пользователь
 
Сообщения: 217
Зарегистрирован: 07 июн 2012, 00:24
Репутация: 38

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#47 » Demeter » 16 дек 2012, 03:09

Moyses писал(а) on 16 дек 2012, 01:34:Можно попробовать убрать из конфига этот "magnetometer". Но все равно работоспособность собранного ядра остается под вопросом.

Ладно, оставим как запасной путь.

- можно ли стянуть со своего телефона или из прошивки конфиг ядра? (w732 Philips)
Вряд ли. Хотя, если ядро собрано с соответствующим конфигом, этот конфиг доступен где-то в /proc/config (или /proc/config.gz).

Хз как оно собрано, но в явном виде ничего похожего на конфиг на файловой система не обнаружено.

По поводу компиляции модуля из драйвера. Идея интересная. Действительно, если прописать в
TCL_E928/mediatek/platform/mt6575/kernel/Kconfig/Drivers
# Accdet
config MTK_ACCDET # ACCDET
tristate "MediaTek ACCDET Driver"
bool "MediaTek Accessory Detection Support"
default m
и добавить файлик accdet.mod.c
то командой make PROJECT=jrdsh15_td_ics M=../mediatek/platform/mt6575/kernel/drivers/accdet
можно собрать модуль... вот только он получается с ворнингами
Код: Выделить всё
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "mt65xx_eint_set_polarity" [../mediatek/platform/mt6575/kernel/drivers/accdet/accdet.ko] undefined!
WARNING: "pmic_bank1_read_interface" [../mediatek/platform/mt6575/kernel/drivers/accdet/accdet.ko] undefined!
WARNING: "hwSPKClassABAnalogSwitchSelect" [../mediatek/platform/mt6575/kernel/drivers/accdet/accdet.ko] undefined!
WARNING: "mt6575_i2c_polling_writeread" [../mediatek/platform/mt6575/kernel/drivers/accdet/accdet.ko] undefined!

это подлый accdet.c линкует к функциям мткшного ядра, чтоб опрашивать гарнитуру

Ну и при попытке установить мод вылезает сообщение
Код: Выделить всё
root@android:/ # insmod /sdcard/accdet.ko
insmod: init_module '/sdcard/accdet.ko' failed (No such file or directory)


Это совсем клиника, или что-то можно исправить?
  • 0

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#48 » Moyses » 16 дек 2012, 14:48

Demeter писал(а) on 16 дек 2012, 03:09:Ну и при попытке установить мод вылезает сообщение

Код: Выделить всё
root@android:/ # insmod /sdcard/accdet.ko
insmod: init_module '/sdcard/accdet.ko' failed (No such file or directory)


Это совсем клиника, или что-то можно исправить?

Посмотри 'dmesg' - то ли ему не хватает каких-то символов, то ли еще какая проблема.
  • 1

Аватара пользователя
Moyses
Пользователь
 
Сообщения: 217
Зарегистрирован: 07 июн 2012, 00:24
Репутация: 38

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#49 » Demeter » 16 дек 2012, 15:47

Moyses писал(а) on 16 дек 2012, 14:48:Посмотри 'dmesg' - то ли ему не хватает каких-то символов, то ли еще какая проблема.


В точку попал. Не хватает ему почти всех символов.

Код: Выделить всё
255|root@android:/sdcard # insmod accdet.ko                                   
insmod: init_module 'accdet.ko' failed (No such file or directory)

255|root@android:/sdcard # dmesg | grep accdet                                 
<4>[ 4367.110066] accdet: Unknown symbol __class_create (err 0)
<4>[ 4367.110750] accdet: Unknown symbol platform_driver_unregister (err 0)
<4>[ 4367.111555] accdet: Unknown symbol switch_dev_unregister (err 0)
<4>[ 4367.112300] accdet: Unknown symbol switch_dev_register (err 0)
<4>[ 4367.122775] accdet: Unknown symbol class_destroy (err 0)
<4>[ 4367.123465] accdet: Unknown symbol switch_set_state (err 0)
<4>[ 4367.124160] accdet: Unknown symbol driver_create_file (err 0)
<4>[ 4367.124883] accdet: Unknown symbol platform_driver_register (err 0)
<4>[ 4367.125729] accdet: Unknown symbol device_create (err 0)
<4>[ 4367.126392] accdet: Unknown symbol destroy_workqueue (err 0)
<4>[ 4367.127107] accdet: Unknown symbol device_del (err 0)
<4>[ 4367.128616] accdet: Unknown symbol queue_work (err 0)
<4>[ 4367.129262] accdet: Unknown symbol __alloc_workqueue_key (err 0)


Проверил собрав fs/cifs модуль - сработало, модуль грузится.

Какой же я тупой!
Я сдуру изменил сторочку MODULE_LICENSE("GPL"); на MODULE_LICENSE("Apache");
а эти функции из core.c экспортятся как GPL! Теперь все грузится.

В общем перекорежил я этот драйвер в отдельно загружаемый модуль ядра.
Пришлось переименовать, тк оригинал выгрузить невозможно. Добавил 2 строчки логики и длинное нажатие заработало.
И ради этих 2х строчек пришлось ставить вмваре, убунту и 2 дня трахаться.
Насколько проще было б при наличии полных исходников...
Ненавижу китайцев и их скрытность.
  • 6

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#50 » Demeter » 17 дек 2012, 18:11

Спасибо конечно за плюсики, оно всегда приятно, только не понял за что ;) Ну будет считать - аванс.

Посему аттачу модуль accfix.ko, вдруг кто с гарнитуры музыку слушает и тоже страдает от неработающей кнопки.
Действие простое - генерит 226 scancode (маппится обычно в HEADSETHOOK, на который плееры реагируют).
Дабл-клики не поддерживает а вот длинное нажатие отрабатывает успешно.
Инсталляция - бросить на флешку и в терминалке "su; insmod /sdcard/acccfix.ko"
Попытка "rmmod accfix" вешает телефон, так что в init.d лучше не ставить, пусть лучще после перезагрузки слетит...

Еще пока бродил по менюшкам конфига ядра, увидел много вкусностей типа декодеров/энкодеров H264, лишних говерноров для CPU, управления энергопотребления и прочего.
Может попробовать что из этого тоже скомпилить как подгружаемые модули?

ЗЫ модуль под 4.0.3, на 2.3.6 не загрузится.
Вложения
accfix.ko_v3.zip
accfix.ko
(72.79 КБ) Скачиваний: 68
Последний раз редактировалось Demeter 18 дек 2012, 02:44, всего редактировалось 2 раз(а).
  • 5

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#51 » linerty » 17 дек 2012, 22:50

Demeter писал(а) on 17 дек 2012, 18:11:Может попробовать что из этого тоже скомпилить как подгружаемые модули?
Всё на что хватит энтузиазма только приветствуется.

Добавлено спустя 31 минуту 20 секунд:
На W3DC MT6577 если поместть модуль в модули говорит:
Код: Выделить всё
Using username "root".
SSHDroidPro
~ # insmod /system/lib/modules/accfix.ko
insmod: can't insert '/system/lib/modules/accfix.ko': invalid module format
>

Если на sd-карте как по рекомендации, то
Код: Выделить всё
insmod /sdcard/acccfix.ko
>

Но видимо у нас что-то с кнопками и пауза срабатывает с 10-го раза. Переключение не работает.
По-подробнее посмотрю позже. но с наскока не получилось.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#52 » Demeter » 18 дек 2012, 00:24

linerty писал(а) on 17 дек 2012, 23:21:~ # insmod /system/lib/modules/accfix.ko
insmod: can't insert '/system/lib/modules/accfix.ko': invalid module format
>
[/code]
Если на sd-карте как по рекомендации, то
Код: Выделить всё
insmod /sdcard/acccfix.ko
>

Но видимо у нас что-то с кнопками и пауза срабатывает с 10-го раза. Переключение не работает.


Пичалька какая, а какой телефон? (W3DC MT6577 это что?) Я только на Philips W732 тетсил.
при загрузке должна писать
Код: Выделить всё
root@android:/ # insmod /sdcard/accfix.ko
root@android:/ # dmesg | grep accfix
<7>[  250.462731] calling  accfix_mod_init+0x0/0xd8 [accfix] @ 1807
<3>[  250.462743] [accfix]accfix_mod_init begin 3!
<3>[  250.463263] [accfix]Try register new driver 1!
<3>[  250.464488] [accfix]platform_driver_register done 1!
<3>[  250.465099] [accfix]try accfix_probe 3!
<3>[  250.465576] [accfix]accfix_probe begin!
<3>[  250.470545] [accfix]kpd_accfix_dev register : success!!
<3>[  250.471423] [accfix]accfix_setup_eint
<3>[  250.472721]  EINT fuc delay 500 then enable accfix
<3>[  250.473999] [accfix]accfix_probe : ACCFIX_INIT
<3>[  250.474555] [accfix]accfix hardware init
<3>[  250.475038] [accfix]accfix register interrupt error
<3>[  250.475639] [accfix]try free IRQ
<3>[  250.476046] [accfix]IRQ freed success
<3>[  250.476520] [accfix]check_cable_type:[Plug_out]current AB = 3
<3>[  250.477225] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x0
<3>[  250.477908] [accfix]PLUG_OUT state not change!
<3>[  250.478461] accfix: disable_accfix
<3>[  250.479046] [accfix]check_cable_type:Clear interrupt:Done[0x0]!
<3>[  250.482538] [accfix]accfix_probe done!
<3>[  250.482996] [accfix]accfix_mod_init done 1!
<3>[  250.489057] [accfix]cable type:[No_device], status switch:[Plug_out]->[Plug_out]
<7>[  250.489999] work: accfix_work_callback+0x0/0x87c [accfix]
<7>[  250.490026] initcall accfix_mod_init+0x0/0xd8 [accfix] returned 0 after 26632 usecs
<3>[  250.490761]  accfix:sendKeyEvent wait
<3>[  250.979247] [accfix]accfix hardware init
<7>[  250.979753] work: accfix_eint_work_callback+0x0/0xe8 [accfix]
<3>[  250.979764]  EINT fuc delay 500 then enable accfix
<3>[  251.488760] [accfix]accfix hardware init
<7>[  251.489266] work: accfix_eint_work_callback+0x0/0xe8 [accfix]
<3>[  252.059334] [accfix]accfix_irq_handler: 69
<3>[  252.059856] [accfix]check_cable_type:[Plug_out]current AB = 1
<3>[  252.060561] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x100
<3>[  252.061267] [accfix]check_cable_type:Clear interrupt:Done[0x0]!
<3>[  252.062004] [accfix]cable type:[Headset_mic], status switch:[Plug_out]->[Headset_plug_in]



Работоспособность проверяется командой
Код: Выделить всё
127|root@android:/ #
127|root@android:/ # getevent
add device 1: /dev/input/event5
  name:     "ACCFIX"
add device 2: /dev/input/event3
  name:     "hwmdata"
add device 3: /dev/input/event2
  name:     "mtk-tpd-kpd"
add device 4: /dev/input/event1
  name:     "mtk-tpd"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 5: /dev/input/event0
  name:     "ACCDET"
could not get driver version for /dev/input/mice, Not a typewriter
add device 6: /dev/input/event4
  name:     "mt6575-kpd"


при коротком нажатии должно сразу появится
Код: Выделить всё
/dev/input/event5: 0001 00e2 00000001
/dev/input/event5: 0000 0000 00000000
/dev/input/event5: 0001 00e2 00000000
/dev/input/event5: 0000 0000 00000000


при долгом сначала
Код: Выделить всё
/dev/input/event5: 0001 00e2 00000001
/dev/input/event5: 0000 0000 00000000

а при отпускании
Код: Выделить всё
/dev/input/event5: 0001 00e2 00000000
/dev/input/event5: 0000 0000 00000000


Еще проще проверять если поставить KeyTest.apk https://github.com/chrisboyle/keytest/downloads
Запустите и нажмите кнопку на гарнитуре: оригинальное ядро: KeyCode:0 и левый scanCode 194. repeatCount всегда 0.
С загруженным модулем KeyCode:79 и scanCode 226 repeatCount зависит от времени держания

Да, если работает через раз, то интересно что пишет dmesg после пары нажатий
у меня что-то типа
Код: Выделить всё
<3>[  921.127056] [accfix]accfix_irq_handler: 69
<3>[  921.127579] [accfix]check_cable_type:[Headset_plug_in]current AB = 0
<3>[  921.128361] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x100
<3>[  921.699122] [accfix]accfix_irq_handler: 69
<3>[  921.699633] [accfix]accfix_irq_handler: 69
<3>[  921.700132] [accfix]accfix_irq_handler:accfix_work return:0!
<3>[  921.728727] [accfix] key DOWN
<3>[  921.732545] [accfix]cable type:[Headset_mic], status switch:[Headset_plug_in]->[Hook_switch]
<7>[  921.736985] work: accfix_work_callback+0x0/0x87c [accfix]
<3>[  921.737000] [accfix]check_cable_type:[Hook_switch]current AB = 1
<3>[  921.737739] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x100
<3>[  921.738442] [accfix] key UP
<3>[  921.747398] [accfix]check_cable_type:Clear interrupt:Done[0x0]!
<3>[  921.748131] [accfix]cable type:[Headset_mic], status switch:[Hook_switch]->[Headset_plug_in]
<7>[  921.760915] work: accfix_work_callback+0x0/0x87c [accfix]
<3>[  922.950494] [accfix]accfix_irq_handler: 69
<3>[  922.951148] [accfix]check_cable_type:[Headset_plug_in]current AB = 0
<3>[  922.951932] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x100
<3>[  923.548731] [accfix] key DOWN
<3>[  923.554466] [accfix]cable type:[Headset_mic], status switch:[Headset_plug_in]->[Hook_switch]
<7>[  923.561020] work: accfix_work_callback+0x0/0x87c [accfix]
<3>[  923.717990] [accfix]accfix_irq_handler: 69
<3>[  923.718511] [accfix]check_cable_type:[Hook_switch]current AB = 1
<3>[  923.719268] [accfix]check_cable_type: ACCDET_IRQ_STS = 0x100
<3>[  923.719962] [accfix] key UP
<3>[  923.726068] [accfix]check_cable_type:Clear interrupt:Done[0x0]!
<3>[  923.726801] [accfix]cable type:[Headset_mic], status switch:[Hook_switch]->[Headset_plug_in]
<7>[  923.727870] work: accfix_work_callback+0x0/0x87c [accfix]
Вложения
accfix.ko_v3.zip
Еще можно эту версию попробовать ;)
(72.79 КБ) Скачиваний: 18
Последний раз редактировалось Demeter 18 дек 2012, 01:42, всего редактировалось 2 раз(а).
  • 1

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#53 » Moyses » 18 дек 2012, 00:52

Demeter писал(а) on 18 дек 2012, 00:24:Пичалька какая, а какой телефон? (W3DC MT6577 это что?) Я только на Philips W732 тетсил.

MT6577 - это двухъядерный аналог MT6575. Соответственно, нужен CONFIG_SMP, иначе не загрузится.
  • 0

Аватара пользователя
Moyses
Пользователь
 
Сообщения: 217
Зарегистрирован: 07 июн 2012, 00:24
Репутация: 38

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#54 » Demeter » 18 дек 2012, 01:11

Moyses писал(а) on 18 дек 2012, 00:52:MT6577 - это двухъядерный аналог MT6575. Соответственно, нужен CONFIG_SMP, иначе не загрузится.

Ага, тогда тут лотерея ИМХО. Если все 20+ импортов 2х ядер совпали, то модуль может и подгрузиться...
А на 6577 проект/исходники есть или та же фигня что и с 6575?

ЗЫ Да, а у W3DC MT6577 тоже гарнитура не работает?
  • 0

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#55 » cure72 » 18 дек 2012, 02:21

Demeter
У меня 6575 (из подписи)
Под 2.3.6 выдает
# insmod /system/lib/modules/accfix.ko
insmod: init_module `/sdcard/accfix.ko` failed (Exec format error)
KeyTest на нажатия кнопки гарнитуры (родной) не реагирует вовсе :ne_vi_del:
Lenovo A750
Прошивка - сток s150
«Не партии будут служить народу, а народ — партиям. Уже теперь… в деле народа упоминается одно лишь его имя, а вершат дела партии»© Н.И.Махно 1918 год
  • 0

Аватара пользователя
cure72
Гуру
 
Сообщения: 1402
Зарегистрирован: 18 мар 2012, 01:41
Откуда: SPb
Репутация: 253

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#56 » Demeter » 18 дек 2012, 02:42

cure72 писал(а) on 18 дек 2012, 02:21:Demeter
У меня 6575 (из подписи)
Под 2.3.6 выдает
# insmod /system/lib/modules/accfix.ko
insmod: init_module `/sdcard/accfix.ko` failed (Exec format error)
KeyTest на нажатия кнопки гарнитуры (родной) не реагирует вовсе :ne_vi_del:

Спасибо за инфу!

Упс. У меня-то 4й андроид, 4.0.3. Я даже думал 2.3.6 не бывает на 6575 чипсете.
Это надо наверное ядро 2.3.6 иметь в исходниках, чтоб скомпилить модуль...
В моем мейкфайле прописано
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 13
EXTRAVERSION =
NAME = Sneaky Weasel
А что для 2.3.6 должно быть? Исходники-то по идее не должны сильно отличаться.

Если KeyTest не реагирует - значит родной драйвер вообще нажатия на кнопки не генерит...
А звонки принимать гарнитурой удается? Символ гарнитуры с микрофоном горит на панели?
  • 0

Аватара пользователя
Demeter
Интересующийся
 
Сообщения: 42
Зарегистрирован: 15 дек 2012, 02:12
Репутация: 75

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#57 » cure72 » 18 дек 2012, 04:03

Demeter
Гарнитура рабочая конечно-же.Звонки принимает,отбивает и т.п.Символ в смысле в панели уведомлений ?
Просто символ наушников.Микрофона не видел там ни разу.Ни на четверке ни на двойке :-)
Но гарнитура работает.
Может на днях поставлю четверку на время и проверю на ней модуль.
Lenovo A750
Прошивка - сток s150
«Не партии будут служить народу, а народ — партиям. Уже теперь… в деле народа упоминается одно лишь его имя, а вершат дела партии»© Н.И.Махно 1918 год
  • 0

Аватара пользователя
cure72
Гуру
 
Сообщения: 1402
Зарегистрирован: 18 мар 2012, 01:41
Откуда: SPb
Репутация: 253

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#58 » linerty » 18 дек 2012, 08:52

Demeter писал(а) on 18 дек 2012, 01:11:ЗЫ Да, а у W3DC MT6577 тоже гарнитура не работает?
У меня штатная гарнитура при ответе на звонок работает 1 раз через 3. Но я заметил кнопка конкретно моей гарнитуры "дребезжит". Поэтому и написал выше что проверю не в этом ли проблема. Плеер тоже срабатывает на неё, но 1 раз на 10 ставит паузу только.

Добавлено спустя 10 минут 26 секунд:
Demeter писал(а) on 18 дек 2012, 01:11:Ага, тогда тут лотерея ИМХО. Если все 20+ импортов 2х ядер совпали, то модуль может и подгрузиться...

Странно, сегодня пишет:
Код: Выделить всё
root@android:/ # insmod /sdcard/accfix.ko
insmod: can't insert '/sdcard/accfix.ko': invalid module format
1|root@android:/ #

Demeter писал(а) on 18 дек 2012, 00:24:Еще проще проверять если поставить KeyTest.apk https://github.com/chrisboyle/keytest/downloads
Вообще не реагирует на штатную гарнитуру, как-будто её просто нет.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Аватара пользователя
Go!
Пользователь
 
Сообщения: 291
Зарегистрирован: 20 фев 2012, 17:17
Откуда: Днепропетровск
Репутация: 281

Исходники MTK. Сборка. Обсуждение.

Сообщение Ответ:#60 » linerty » 18 дек 2012, 14:29

Go! писал(а) on 18 дек 2012, 10:14:Вы позвоните куда-нить, запутите КейТест, тогда увидите.
Получилось. Keykode: 5.
Это без подгруженного модуля так как он не подгрузился.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Пред.След.

Вернуться в Программная часть КПК

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

x

#{title}

#{text}