Подготовка для замеров

Материал из Toshiba AC100 wiki
Перейти к навигации Перейти к поиску

Задача

Основная цель замеров клоков на alc5632 - разобраться, что происходит с картой, и почему, при вроде бы правильных настройках, в ядре 2.6.38 не работает звук. Чтобы разобраться нужно померить параметры работы звукового модуля из-под рабочей ОС - android или linux с ядром 2.6.32; и из-под проблемной ОС - в нашем случае linux с ядром 2.6.38. Почитать о том, как работает звук можно на странице Звук.


Что понадобится

- usb кабель (mini-usb to usb) - SD карта (можно USB флешка) - утилита nvflash - осциллограф - любой аудио файл


План действий

  • сделать бэкап
  • поставить линукс на SD карту
  • разобрать AC100
  • загрузить android (linux с работающим звуком)
  • померить параметры alc5632
  • прошить ядро 2.6.38
  • померить параметры alc5632
  • вернуть android

Описывать шаги буду не по порядку.


Измерение параметров alc5632

Нас интересуют сигналы (наличие, частота), на ногах звукового модуля alc5632 (основной интерес представляют MCLK, SDAC, BCLK, SDALRCK и HP_OUT_L/R ) в разных режимах.

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения

Режимы:

  • до включения звука
  • во время воспроизведения звука через наушники
  • опционально - во время воспроизведения звука через колонки
  • после воспроизведения звука


Бэкап

Для возможности отката к начальному стостоянию настоятельно рекомендуется сделать бекап всех партиций! Как сделать бэкап рассказано тут: Бэкап Как минимум нужно сделать бэкап 6-й партиции (но лучше иметь бекап всех партиций и partitiontable):

nvflash.exe -w --bl ./harmony/fastboot.bin --read 6 part06.img


Создание загрузочной карты

Качаем rootfs, ядро и модули для этого ядра.

wget http://ac100.gudinna.com/tegra-rootfs.tgz
wget http://avolver.ru/ac100/kernels/38.ca20bea-7Jul11/boot-marvin24s-2.6.38-ca20bea.SD.img
wget http://avolver.ru/ac100/kernels/38.ca20bea-7Jul11/modules-marvin24s-2.6.38-ca20bea.tar.gz

Берем SD карту с одной партицией и форматируем в ext3:

mkfs.ext3 /dev/mmcblk0p1

Монтируем партицию:

mount -t ext3 /dev/mmcblk0p1 /mnt/sd

Распаковываем rootfs и модули на карту

sudo tar xzfv tegra-rootfs.tgz --numeric-owner -C /mnt/sd
sudo tar xzfv modules-marvin24s-2.6.38-ca20bea.tar.gz -C /mnt/sd/lib/modules

Желательно скопировать на карту звуковой файл, чтобы потом не копаться :) Отмонтируем карту - на нее больше ничего писать не будем.

sudo umount /mnt/sd


Прошивка загрузчика Linux

Ядро прошивается утилитой nvflash в 6-й раздел. Обычно вот такой командой (есть разные версии nvflash и файлы загрузчика, если нет уверенности, можно задать вопрос на irc канале #ac100-ru сервера freenode):

./nvflash -w --bl ./harmony/fastboot.bin --download 6 boot-marvin24s-2.6.38-ca20bea.SD.img

Аналогичным образом возвращается на место 6-я партиция из бэкапа.


Разбираем AC100

Описание с фотографиями (анг.): http://wiki.gudinna.com/ac100 Вкратце: <kottt> на нижней стороне три винтика видны невооруженным глазом и два под задними резиновыми ножками <kottt> И еще два за аккумулятором <kottt> после этого снимается клавиатура и дальше все довольно очевидно Модуль находится на нижней стороне платы

Ошибка создания миниатюры: Не удаётся сохранить эскиз по месту назначения