Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - UnКаЙF

Pages: [1]
1
Вот, решил выложить образ системы, превращающий ваш старый Raspberry в MIDI-синтезатор. Понимаю, что тема давно "с душком". Однако, кинувшись искать - ничего готового не нашел. Ещё одна причина существования данной темы в том, что на данный момент Raspberry первых выпусков потерял свою актуальность для гиков, и, чтобы не пылилась на полке - поиграл, отдай другому. А для начинающих linux - тёмный лес. Потому и образ уже готовый. Подключил USB MIDI-клавиатуру, подал питание, загрузилось, и, вуаля - можно играть. Сразу предупреждаю - качественного звука здесь нет: используется "набортная" звуковая система Raspberry известная своими шумами, "пуканьем" и 11-битным разрешением.

Для тех, кому интересно, немного подробностей:
Минимальный образ системы взят отсюда: https://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/
Тактовая частота процессора выставлена 800 Мгц. Менеджер производительности в режиме performance.
Работает SSH. Пароль для root - raspberry. Из реп установлена ALSA, Timidity++ и соундфонты от fluidSynth.
В /etc/rc.local прописано aconnect 20:0 128:0. Так, что если не работает с вашей MIDI-клавиатурой, то ищите её порт с помощью aconnect -i, затем поправьте /etc/rc.local.
Образ лежит тут: https://yadi.sk/d/O8FCJJ1XgxK4t
Для записи образа нужна SD-карта на 2 GB или больше. Образ достать из архива и записать с помощью dd. Под виндой можно записать с помощью вот этой утилиты: http://winflashtool.sysprogs.com

Видео работы: https://youtu.be/9SpiGhUE1q0

UPD: Чтобы ноты не "зависали" нужно перевести USB-контроллер в режим USB1.1
Для этого открыть файл cmdline.txt и добавить dwc_otg.speed=1 вот так:
Code: [Select]
dwc_otg.lpm_enable=0 dwc_otg.speed=1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

2
Железо / Хозяйке на заметку: i2c 5V Cubietruck
« on: January 18, 2015, 09:26:54 am »
Для тех, кто не пользуется VGA монитором с Cubietruck. На разъёме VGA имеются:
1. Шина i2c уже преобразованная к уровням 5v. (Включать twi2_para twi2_used=1)
2. Питание 5v на контакте 9. (Если подключена АКБ, то оно там постоянно есть  :P)
3. Два GPIO - PD26,PD27 (К сожалению 3,3v уровни).

Плюсы - не нужно преобразовывать И2ц к 5-ти вольтам и не нужен редкий IDC разъём с мелким шагом.
P.S. Америки не открываю, - всё есть на схеме.

3
Оффтопик / Модули ядра Android
« on: January 11, 2015, 02:22:02 pm »
Ребят, как определить, каких модулей не хватает ядру ?
Пытаюсь подключить 3g модем к планшету. Вот кусок вывода dmesg:
Code: [Select]
<6>[  152.036660] usb 1-1: new high speed USB device number 2 using dwc_otg
<3>[  152.858310] usb 1-1: device v12d1 p1f01 is not supported
<6>[  152.906705] scsi0 : usb-storage 1-1:1.0
<6>[  153.116631] usb 1-1: USB disconnect, device number 2
...........................
<6>[  158.336912] usb 1-1: new high speed USB device number 3 using dwc_otg
<3>[  159.108193] usb 1-1: device v12d1 p14db is not supported
<6>[  159.210151] cdc_ether 1-1:1.0: eth0: register 'cdc_ether' at usb-dwc_otg.0-1, CDC Ethernet Device, 58:2c:80:13:92:63
<3>[  159.301508] init: guoyq service_start name 'dhcpcd_eth0'
<3>[  159.400420] init: guoyq service_start name 'dhcpcd_eth0'
<7>[  170.157090] eth0: no IPv6 routers present
...............
<6>[  189.867877] usb 1-1: USB disconnect, device number 3
<6>[  189.873156] cdc_ether 1-1:1.0: eth0: unregister 'cdc_ether' usb-dwc_otg.0-1, CDC Ethernet Device
device v12d1 p1f01 - Это ZeroCD с драйверами х86 на триджике. Определяется, вроде, как накопитель, но тут же отключается. Есть конфиг ядра планшета.  :( Вот только толковых руководств - что за что отвечает не нашел.

4
Всем привет !
Установил vsftpd. Настроил так:
Code: [Select]
listen=YES
listen_ipv6=NO
anonymous_enable=YES
anon_root=/home/linaro/Public
local_enable=NO
write_enable=YES
#local_umask=000
file_open_mode=0777
anon_umask=0000
chown_username=linaro
chown_uploads=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
delete_failed_uploads=YES
lock_upload_files=NO
no_anon_password=NO
text_userdb_names=YES
idle_session_timeout=600
data_connection_timeout=120
# You may fully customise the login banner string:
ftpd_banner=Welcome to Cubie FTP Service.
chroot_local_user=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# This option specifies the location of the RSA key to use for SSL
# encrypted connections.
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
При передаче киношек по локалке или просто больших файлов (~2Gb) обрывается во время передачи. Кубик подключен по WiFi. Посоветуйте пожалуйста, как победить такое или хотя бы куда смотреть.

5
Cubieboard v3 Hardware (Cubietruck) / Strange behavior of PB14-17 pins
« on: April 26, 2014, 01:44:38 pm »
I tryed to use C program and /sys/class/gpio, to drive,but with no effect. I've measured (by multimeter) that levels on this pins is always PB14=0 PB15=0 PB16=1 PB17=0. Experiments with script.bin has no effect.

I tryed another kernel and booting from sdcard - no effect.

I read default pin's mux after system boot up - all "0", but in script i specify "1".
if I configure pins as outputs, it is not working. The state is always PB14=0 PB15=0 PB16=1 PB17=0.

if I configure pins (with gpio_lib) as inputs - PB14,15,17 works normal (but no pull-up), but PB16.

May it be, that JTAG forced this pins ? What pin JTAG_SEL do ?
I think, that this pin (ball) not soldered properly on my cubietruck.
here is my script.fex:

6
Железо / Cubietruck: не работают GPIO PB14-17
« on: April 26, 2014, 10:42:48 am »
Пришла пора и мне нарваться на непонятки  ;D

Не могу заюзать пины PB14, PB15, PB16, PB17 которые по схеме выведены на CN8 контакты 9,11,10,12 соответственно. Пробовал c sudo и через /sys/class/ и программу на С. Смотрел мультиметром напругу, - картина всегда одна: PB14=0, PB15=0, PB16=1, PB17=0.
Прикрепляю свой script.fex (хотя проге на С он пофиг):

UPD: Сейчас подозреваю, что на эти пины аппаратно "сел" JTAG. Как его отключить  ???

7
Прошивки и софт / Kernel RT capabilities.
« on: March 05, 2014, 02:59:57 pm »
Почитал вот это https://www.ibm.com/developerworks/ru/library/l-real-time-linux/ . Вдохновило то, что убрали "двухъядерность" и ввели возможность вытесняющего режима в стандартное ядро. (Видел, что наше ядро собрано с опцией PREEMPT  :) ) Однако статья старая (ядро 2.6) и чисто обзорная.
Где раздобыть инфу по RT возможностям современных ядер, и, в частности, по "нашим" ядрам linux-sunxi ? А может у кого уже есть наработки по этому вопросу ? Гугление ничего внятного не дало. Может искал плохо ?

8
Сразу оговорюсь, что в линуксах я почти полный ноль, поэтому не судите строго. Подозреваю, что методы примененные мной знающие люди вполне могут назвать варварскими. Так что, поправки и разъяснения приветствуются.

Речь пойдет о добавлении поддержки HIDraw в ядро Lubuntu 1.01 для Cubietruck. Его используют такие устройства как приемники беcпроводных клавиатур и мышей Logitech Unifying. Благодаря тому, что есть готовый образ системы и требуется лишь перекомпилировать ядро, то огромная работа по построению и конфигурированию системы ненужна. Сначала необходимо накатить на Cubietruck именно тот готовый образ системы ядро которой мы и будем пересобирать. Для сборки ядра и операций по его установке я использовал Ubuntu 10.04. Правда использует ли убунтовский gcc-arm-linux-gnueabi аппаратную плавающую точку или нет, я не понял.

1. Скачал исходники, образ и конфиг с http://dl.cubieboard.org/software/a20-cubietruck/lubuntu/ct-lubuntu-nand-v1.01/ct-lubuntu-desktop
2. Положил в каталог ~/ct-lubuntu-desktop файлы kernel-source.tar.gz и cubietruck_defconfig
Code: [Select]
N. $cd ~/ct-lubuntu-desktop3. Распаковал командой
Code: [Select]
$tar -zxvf kernel-source.tar.gz4. Поскольку распаковалось это хозяйство в каталог kernel-source, то ложу туда-же "родной" конфиг ядра :
Code: [Select]
$cp cubietruck_defconfig kernel-source/.config5. Далее выкачиваю и устанавливаю тулчейн:
Code: [Select]
$sudo add-apt-repository ppa:linaro-maintainers/toolchain
$sudo apt-get update
$sudo apt-get install gcc-arm-linux-gnueabi
$sudo apt-get install uboot-mkimage
Code: [Select]
N. $cd ~/ct-lubuntu-desktop/kernel-source6. Теперь подстраиваем конфиг:
Code: [Select]
$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig   Отмечаем Device Drivers -> HID Devices -> Generic HID support -> /dev/hidraw raw HID device.
7. Компилируем:
Code: [Select]
$make -j2 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage modules   Поскольку компиляция процесс долгий и полосы прокрутки терминала не хватает для того, чтобы убедится в отсутствии ошибок в ходе него, то я использую такой прием:
      Перед компиляцией:
Code: [Select]
$script build.log  - это запускает запись всех сообщений в файл build.log
      После компиляции:
Code: [Select]
$exit  - это прекращает запись.
8. Теперь непонятный для меня пункт:
upd: устанавливает скомпилированные модули в указанную папку, т.е. "output"
Code: [Select]
$make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=output modules_install
Вот и все - построение ядра и модулей завершено. Теперь копируем на USB-флешку:
      kernel-source/arch/arm/boot/uImage  - файл;
      kernel-source/output/lib            - каталог, вместе с подкаталогами
кроме ссылочных каталогов build и source. (Их я предварительно удаляю. Ищите где-то внутри, - путь не помню:)
Флешка желательно не под fat. Некоторые файлы могут иметь одинаковые с точки зрения fat имена в верхнем и нижнем регистре. И так на флешке у нас файл uImage и каталог lib.
Вставляем флешку в Cubietruck, грузимся и подключаемся к нему по SSH. Я использовал Vinagre из комплекта поставки Ubuntu.
Выполняем вход Log: linaro, Pass: linaro.
Code: [Select]
$cd /
$sudo mkdir /fleshka - в этот каталог монтируем нашу флешку
$sudo mount /dev/sda1 /fleshka
$sudo mount /dev/nanda /mnt - монтируем загрузочный раздел
$sudo cp /fleshka/uImage /mnt/  - затираем образ своим
$sudo cp -R /fleshka/lib /lib
$sudo reboot - наслаждаемся.
Еще можно удалить старые модули, чтоб не занимали места (в оригинальном образе /lib/modules/3.4.61+) :
Code: [Select]
$sudo rm -R /lib/modules/3.4.61+      

Pages: [1]