motofan logo
2 страниц V  1 2 >        
> 

Нужна помощь. Собрать ядро и модули из исходников, Прогеры со свободным временем и быстрым интернетом сюда

J()KER
сообщение 25.8.2013, 21:39


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



Очень очень нужна помощь, сам я это сделать пытался не раз, проел все нервы EXL'ю (золотой человек, хочу я вам сказать) но ничего у меня не получилось, поэтому очень прошу Вашей помощи, люди которые могут собрать ядро и модули из исходников smile.gif

В ветке андроида сознательно не опубликовал, потому что там редко появляются люди которые мне могут помочь, поэтому очень прошу не перемещать тему(

Итак, помогите пожалуйста собрать модуль wifi для Atrix 4G из исходников (само ядро и тем более ром мне не нужны)
Вот исходники модуля http://bcmon.googlecode.com/svn/trunk/bcm4...er/src/bcm4329/
Вот ядро - https://github.com/CyanogenMod-Atrix/androi...cm-10.1-bcm4329 (зеркало http://yadi.sk/d/nW_jZFs18JJ7c )
Вот инструкция http://oldwiki.cyanogenmod.org/wiki/Buildi...nel_from_source
И конфиг
Прикрепленный файл config.gz   ( 19.56 килобайт ) Кол-во скачиваний: 517

Буду очень очень благодарен любой помощи

Сообщение отредактировал J()KER - 26.8.2013, 11:18
Прикрепленный файл config.gz   ( 19.56 килобайт ) Кол-во скачиваний: 517
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AstaRoth
сообщение 26.8.2013, 7:16


Бошетунмай
********

Группа: Почётные мотофаны
Сообщений: 3 115
Регистрация: 5.11.2005
Из: СЕВЕРОДВИНСК,29, РФ ☭
Пользователь №: 57 206
Модель телефона: E2=>Zn5=>Defy+=>Nubia
Прошивка: Ъбфбймус Edition
Победитель конкурса 2008


Настроение:
reBOOT



Рейтинг: 4098



Скачать и залить могу, а вот для сборки нужен инструктаж - времени мало на буржуйском читать и вникать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
J()KER
сообщение 26.8.2013, 11:10


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



AstaRoth, для меня тут основная загвоздка это тулчейн, по ссылке в инструкции http://www.codesourcery.com/sgpp/lite/arm/...ubscription3053 скачивается arm-none-eabi , который не подходит, как я понял, поэтому я сам без понятия что нужно делать.
Может даст кто ссылку на правильный тулчейн? Ром мне собирать не нужно, главное получить модуль wifi

Сообщение отредактировал J()KER - 26.8.2013, 11:12
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 26.8.2013, 14:00


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4600



Короче, появилось у меня свободное время тут... Воооот. Тот тутор никуда не годицца.

Судя по последнему коммиту в сорцах ядра:
Код
Revert to bcm4329

Поддержка этого Wi-Fi-модуля была встроена прямо в ядро всего 3 дня назад.

Собирал ядро в VMware Player 5.0.2 build-1031769 на хосте:
Код
Windows 7, 4GB RAM, Intel C2D E8200 @ 2.66 GHz x 2

В установленной OpenSUSE 12.3 KDE с использованием интеловской виртуализации VT-x:
Код
2GB RAM, Intel C2D E8200 @ 2.66 GHz x 2
exl@linux-vqyz:~/Projects> uname -a
Linux linux-vqyz.site 3.7.10-1.1-desktop #1 SMP PREEMPT Thu Feb 28 15:06:29 UTC 2013 (82d3f21) x86_64 x86_64 x86_64 GNU/Linux


Для сборки необходимы следующие пакеты:
Код
sudo zypper install git-core
sudo zypper install gcc
sudo zypper install gcc-c++
sudo zypper install make


гыцыца (хостовая):
Код
exl@linux-vqyz:~/Projects> gcc --version
gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Цитата(J()KER @ Сегодня, 18:10)
* по ссылке в инструкции http://www.codesourcery.com/sgpp/lite/arm/...ubscription3053 скачивается arm-none-eabi , который не подходит

Это для эмбеддед, ты правильно заметил, может и не подойти, лучше всего использовать prebuilt-тулчейн от google.
Получаем и устанавливаем этот тулчейн:
Код
cd /opt
sudo git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6


гыцыца (армовская):
Код
exl@linux-vqyz:~/Projects> arm-eabi-gcc --version
arm-eabi-gcc (GCC) 4.6.x-google 20120106 (prerelease)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Получаем сорцы ведра:
Код
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/CyanogenMod-Atrix/android_kernel_motorola_olympus.git

Качаться будет долго, там что-то около 500 MB.

Далее обновляем/добавляем переменные окружения PATH, ARCH, etc:
Код
export PATH=/opt/arm-eabi-4.6/bin:$PATH
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-


И, наконец, собираем ядро:
Код
cd ~/Projects/android_kernel_motorola_olympus
make tegra_olympus_defconfig
make -j3


Время компиляции ядра у меня в VM, с тремя потоками, ~10 минут.
Ядро забирать в ~/Projects/android_kernel_motorola_olympus/arch/arm/boot, название zImage. Судя по всему, модуль туда уже вкомпилен:

Прикрепленное изображение

Модули:
Код
cd ~/Projects/android_kernel_motorola_olympus
tar -czf modules.tgz `find . | grep ko$`


Следует заметить, что модулю нужна прошивка, которая в Android должны находиться по адресу:
Код
/system/vendor/firmware/fw_bcm4329.bin

Прикрепленное изображение
Прошивку можно найти тут: http://forum.xda-developers.com/showthread.php?p=6779134
Или вынуть из cm для Atrix. Или на сайте производителя железа. Ее сорцы закрыты.

Модули и собранное ядро прикрепляю.

Сообщение отредактировал EXL - 26.8.2013, 14:10
Прикрепленный файл modules.tar.gz   ( 136 килобайт ) Кол-во скачиваний: 295
Прикрепленный файл zImage.tar.gz   ( 4.24 мегабайт ) Кол-во скачиваний: 292
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
J()KER
сообщение 26.8.2013, 14:25


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



EXL, спасибо, что опять помогаешь) Но увы, твой модуль не заработал.
Пробовал скомпилить сам, тем тулчейном что сам выкладывал, после определнных плясок удалось собрать ядро и сам модуль, но он не заработал как нужно.
Объясняю как делал я:
Распаковал ядро
В папке /drivers/net/wireless/bcm4329 удалил все файлы и скопировал эти http://bcmon.googlecode.com/svn/trunk/bcm4...er/src/bcm4329/
Скопировал конфиг https://forum.motofan.ru/index.php?act=Attach&type=post&id=261948 в корень с исходниками ядра, распаковал и переименовал его в .config

При компиляции выяснилось, что файл /include/linux/errno.h битый, пришлось лезть на гитхаб и заменять на правильный
Также по пути /drivers/net/wireless/bcm4329 исправил два файла
архив с исправлениями прикрепляю

Дальше компилил так:
Ядро
Код
export CCOMPILER=~/android/toolchain/bin/arm-none-eabi-
cd ~/android/kernel
make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig
make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`


Модуль
Код
CROSS_COMPILE=$CCOMPILER ARCH=arm make modules SUBDIRS=drivers/net/wireless/bcm4329 -j`grep 'processor' /proc/cpuinfo | wc -l`

Этот модуль не заработал как нужно, но сподвиги в правильном направлении уже есть, может правда компилятор неправильный, можешь попробовать сделать так как я описал, только гугловсим компилятором?
Вот
Прикрепленный файл src.zip   ( 381.75 килобайт ) Кол-во скачиваний: 154
прикрепляю исходники с http://bcmon.googlecode.com/svn/trunk/bcm4...er/src/bcm4329/ чтобы ты не мучался со скачиванием ( правленые файлы уже там)

Сообщение отредактировал J()KER - 26.8.2013, 14:27
Прикрепленный файл fix.rar   ( 6.84 килобайт ) Кол-во скачиваний: 122
Прикрепленный файл src.zip   ( 381.75 килобайт ) Кол-во скачиваний: 154
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 26.8.2013, 14:50


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4600



Ща попробую собрать модуль с твоего свн-транка. Судя по всему, он для Nexus'ов: https://code.google.com/p/bcmon/

Для чекаута нужен пакет svn'а:
Код
sudo zypper install subversion


Качаем сорцы:
Код
cd ~/Projects
svn checkout http://bcmon.googlecode.com/svn/trunk/ bcmon-read-only


Интегрируем в ведро:
Код

cd ~/Projects
cd android_kernel_motorola_olympus/drivers/net/wireless
mv bcm4329/ bcm4329-old/
cp -R ~/Projects/bcmon-read-only/bcm4329/driver/src/bcm4329 ./bcm4329


Патчим (предварительно качаем патч в ~/Downloads):
Код
cd ~/Downloads
tar -xf patch_bcm4329_google_gcc.tar.gz
cp bcm4329_google_gcc.patch ~/Projects/android_kernel_motorola_olympus/drivers/net/wireless/bcm4329
cd ~/Projects/android_kernel_motorola_olympus/drivers/net/wireless/bcm4329
patch -p1 < bcm4329_google_gcc.patch


Компилим ядро с модулем из транка:
Код
cd ~/Projects/android_kernel_motorola_olympus
make mrproper
make tegra_olympus_defconfig
make -j3


Судя по инфе из блога, это не очень-то подходит для Atrix'a. Но работать может.

Скрипт запуска setup.sh:
Код
#!/system/bin/sh
CUR_DIR=`dirname $0`
CUR_DIR=`readlink -f $CUR_DIR`
DRIVER_NAME="bcm4329"
DRIVER_FLNM="bcm4329.ko"
FW_PATH="$CUR_DIR/fw_bcm4329.bcmon.bin"

IS_BCM_LOADED=`lsmod | grep bcm4329 | wc -l`

if [ $IS_BCM_LOADED == 1 ]; then
    IS_BCM_PATCHED=`grep "bcmon_loaded" /proc/kallsyms | wc -l`
    if [ $IS_BCM_PATCHED == 0 ]; then
        echo Original module loaded. disabling WiFi
        svc wifi disable
    fi
fi
echo LOADING MODULE
rmmod $DRIVER_NAME 2>/dev/null
insmod $DRIVER_FLNM firmware_path=$FW_PATH
ifconfig eth0 up


Установка:
1. Ядро прошить.
2. Прошивку Wi-Fi-модуля в /system/vendor/firmware/fw_bcm4329.bin; Саму прошивку брать в транке.
3. Модуль в /lib/modules (или где там модули в андроиде)
4. Скрипт запуска в папку с прошивкой и в авторан .

Насколько это отличается от того, что в циане - не знаю. Грепни сорцы модуля, посмотри. Не думаю что сильно, если вообще.
Отличается таки, словил несколько ошибок на этапе компиляции, делаю патч... Патч сделал, инструкцию обновил.

-----------------------------------------------
Цитата(J()KER @ Сегодня, 21:25)
* EXL, спасибо, что опять помогаешь) Но увы, твой модуль не заработал.


Ты ядро вначале прошей с гитхабовского репа, которое я собрал. Модуль под него же собран, в ядре строки *bcm4329* неспроста.

Добавлено позже (26.8.2013, 21:56):
Сделай-ка у себя
Код
~/android/toolchain/bin/arm-none-eabi-gcc --version
, и выхлоп запости сюда.

----------------------------------------------

Собрал ядро и модуль из транка, прикрепляю к посту.

Сообщение отредактировал EXL - 26.8.2013, 16:19
Прикрепленный файл patch_bcm4329_google_gcc.tar.gz   ( 1.12 килобайт ) Кол-во скачиваний: 347
Прикрепленный файл modules.tar.gz   ( 152.32 килобайт ) Кол-во скачиваний: 303
Прикрепленный файл zImage.tar.gz   ( 4.24 мегабайт ) Кол-во скачиваний: 305
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 26.8.2013, 14:59


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4600



Цитата(J()KER @ Сегодня, 21:25)
* Этот модуль не заработал как нужно, но сподвиги в правильном направлении уже есть, может правда компилятор неправильный, можешь попробовать сделать так как я описал, только гугловсим компилятором?


Да, я ядро и модуль с этого транка уже скомпилил гуглокомпилером, сейчас сделаю патч и обновлю инструкцию.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
J()KER
сообщение 26.8.2013, 15:00


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



Код
arm-none-eabi-gcc (Sourcery CodeBench Lite 2013.05-23) 4.7.3
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 26.8.2013, 15:00


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 874
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4600



Цитата(J()KER @ Сегодня, 22:00)
* 4.7.3

Слишком новый.

Сообщение отредактировал EXL - 26.8.2013, 15:02
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
J()KER
сообщение 26.8.2013, 15:02


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



EXL, ядро скомпиленое у меня уже давно стоит, в самом ядре ты ведь никаких изменений не делал, значит его можно не шить, только модуль подгружать?

Цитата(EXL @ Сегодня, 18:00)
* Слишком новое.

а какое нужно?

Сообщение отредактировал J()KER - 26.8.2013, 15:03
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Нужна помощь. Собрать ядро и модули из исходников, Прогеры со свободным временем и быстрым интернетом сюда · Обо всём · Forum
 

2 страниц V  1 2 >
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.3.2024, 8:59

Форум живёт: