Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-NUC976
SK-NUC976 - периферия
Jury093
Добавлено 26.10.2016 16:24
0
Сообщение: 1
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
пользователям билдрута можно не читать..
касается использующих полноценные дистрибутивы
ядро из билдрута, версия 3.10.32
сплодил на uSD рутовую на Debian 7.0, перенаправил "root=", вполне нормально работает даже на 64МБ памяти, но при перезагрузке всплыли две проблемы:
1. работа утилиты hwclock с rtc
Код
root@nuc976:~# date
Mon Oct 24 14:09:53 MSK 2016
root@nuc976:~# date 112414092016
Thu Nov 24 14:09:00 MSK 2016
root@nuc976:~# hwclock -w
hwclock: select() to /dev/rtc0 to wait for clock tick timed out: No such file or directory
root@nuc976:~# date
Thu Nov 24 14:09:15 MSK 2016

и прерывания от часов в нуле..
Код
root@nuc976:~# cat /proc/interrupts
CPU0
13: 0 - nuc970-lcd
15: 0 - nuc970rtc
16: 16884 - nuc970-timer0
18: 0 - nuc970adc
19: 8 - nuc970-emac0
21: 4 - nuc970-emac0
23: 5195 - ehci_hcd:usb1
24: 0 - ohci_hcd:usb2
27: 188 - mmc0
29: 2 - nuc970-udc
34: 0 - nuc970-ge2d
36: 497 - ttyS0
51: 6 - nuc970-spi0
Err: 0

лечится добавлением строки в конце функции _probe драйвера часов
Код
rtc_reg_write(nuc970_rtc, REG_RTC_RIER, TICKINTENB);

тогда и прерывания начинают инкрементироваться и утилита довольна..

2. более неприятный глюк где-то в драйвере nuc970_sd.c. суть дефекта - при команде reboot/shutdown в лог вылетает сообщение:
Код
mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0xd00

и после этого раздел карточки либо не видится, либо видится с кучей ошибок..
на удачу включив отладку, я подметил, что error возникает после CMD12 (нотация в стандарте MMC/SD), типа
Код
[....] All processes ended within 1 seconds...[ ok done.
Sending command 18 as 0x9069203, arg = 0x0001801A, blocks = 6, length = 512
SDH - Reading 3072 bytes [phy_addr = 0x39e0000]
Sending command 13 as 0x9008D03, arg = 0xE6240000, blocks = 0, length = 0
Sending command 12 as 0x9008C03, arg = 0x00000000, blocks = 0, length = 0
mmcblk0: error -110 sending stop command, original cmd response 0xb00, card status 0xb00
Sending command 18 as 0x9069203, arg = 0x0001801A, blocks = 6, length = 512
SDH - Reading 3072 bytes [phy_addr = 0x39e0000]
Sending command 13 as 0x9008D03, arg = 0xE6240000, blocks = 0, length = 0
Sending command 12 as 0x9008C03, arg = 0x00000000, blocks = 0, length = 0
mmcblk0: error -110 sending stop command, original cmd response 0xb00, card status 0xb00


покрутил парамет таймаута в сторону увеличения
Код
nuc970_sd_write(REG_SDTMOUT, 0xffff);

ничего хорошего не получилось, сообщение об ошибке пропало и так же по-тихому сносит блок superuser на разделе

в билдрутовой системе такого нет, т.к. там эта команда не используется (судя по логу)..
опробованы 3 разные заведомо исправные карточки, дистрибутив рутовой рабочий, к интерфейсу uSD вопросов нет - рабочий..

есть подозрение, что китайцы при написание драйверов пользовались исключительно билдрутом и знать не знают о стандартах..

ЗЫ из-за косяка с uSD не могу мигрировать на карточку и потестить USB..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Konachan
Добавлено 27.10.2016 12:51 Сообщение: 2
Konachan
5

Пункты: 3815
Регистрация: 30.08.2014
У меня на reboot почему-то происходит выключение, тоже в дебиане. Ошибки карты вылетают, но данные не портятся - сейчас несколько раз повторил перезагрузку\выключение, полет нормальный.
Ядро и корневую перенес на карту, ибо так быстрее и удобнее вносить изменения.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 27.10.2016 17:17 Сообщение: 3
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
У меня на reboot почему-то происходит выключение, тоже в дебиане. Ошибки карты вылетают,

а можно кусок лога - что за ошибки?

Цитата
Ядро и корневую перенес на карту, ибо так быстрее и удобнее вносить изменения.

рутовая на ext3 или ext4?

вот свеженарезанную загрузил и просто ребутнул:

Код
root@nuc976:~# reboot

Broadcast message from root@nuc976 (ttyS0) (Thu Oct 27 12:18:25 2016):

The system is going down for reboot NOW!
INIT: Sending processes the TERM signal76:~#
[info] Using makefile-style concurrent boot in runlevel 6.
[....] Asking all remaining processes to terminate...done.
[....] All processes ended within 1 seconds...done.
end_request: I/O error, dev mmcblk0, sector 363832
end_request: I/O error, dev mmcblk0, sector 363832
rsyslog: Input/output error
end_request: I/O error, dev mmcblk0, sector 363720
end_request: I/O error, dev mmcblk0, sector 363720
hwclock.sh: Input/output error
end_request: I/O error, dev mmcblk0, sector 363736
end_request: I/O error, dev mmcblk0, sector 363736
umountnfs.sh: Input/output error
end_request: I/O error, dev mmcblk0, sector 363664
end_request: I/O error, dev mmcblk0, sector 363672
end_request: I/O error, dev mmcblk0, sector 363664
networking: Input/output error
end_request: I/O error, dev mmcblk0, sector 363784
umountfs: Input/output error
umountroot: Input/output error
reboot: Input/output error
[....] startpar: service(s) returned failure: rsyslog hwclock.sh umountnfs.sh networking umountfs umount!
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
INIT: cannot execute "/sbin/sulogin"
эno more processes left in this runled for 5 minu


кстати, у китайцев есть некий документ (у меня он видимо изрядно устаревший):

title

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Konachan
Добавлено 31.10.2016 16:01 Сообщение: 4
Konachan
5

Пункты: 3815
Регистрация: 30.08.2014
Лог вот тут: http://pastebin.com/1k6xpewX
Корневая ext4.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 31.10.2016 19:32 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Лог вот тут: http://pastebin.com/1k6xpewX
Корневая ext4.


те же самые вопли
Код
end_request: I/O error, dev mmcblk0, sector 2267200
end_request: I/O error, dev mmcblk0, sector 2267208


странно, что ФС не рушится.. может рутовая изначально монтируется в R/O? дистрибутив случайно не ARMHF? ну и до кучи версию дебьяна
Код
cat /etc/debian_version

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Konachan
Добавлено 11.11.2016 11:04 Редактировалось 11.11.2016 13:21 Сообщение: 6
Konachan
5

Пункты: 3815
Регистрация: 30.08.2014
Перезагрузил раз 15 подряд - карта читаться перестала, фс посыпалась. Что-то в этом ядре не так. Пока решил вопрос опцией sync в fstab - это снижает скорость, но зато ничего не падает и при перезагрузке не виснет.

upd: с любыми опциями фс портится, только с sync она делает это реже.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 11.11.2016 22:03 Сообщение: 7
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Перезагрузил раз 15 подряд - карта читаться перестала, фс посыпалась. Что-то в этом ядре не так. Пока решил вопрос опцией sync в fstab - это снижает скорость, но зато ничего не падает и при перезагрузке не виснет.
upd: с любыми опциями фс портится, только с sync она делает это реже.

угу, в вики сказано
"Все операции ввода-вывода должны выполняться синхронно."
т.е. не запишем, дальше не едем.. отсюда и тормоза..

а валится, по моему мнению, от косяка в драйвере в районе ожидания окончания обмена с карточкой после команды STOP, а может и перед ней..
не зря там регистр для таймаута большой, а грузят всего 0xffff

я не смотрел, что делает система при перезагрузки/останову, но где-то в конце должна записаться информация об успешности размонтирования системного раздела и видимо в этот момент прилетает команда STOP, которая рушит транзакцию в какой-нить суперблок суперюзера (тут децл фантазии)..

еще некторое время попилю а20, потом переключуть на нюк976, иначе не мигрировать на uSD..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Konachan
Добавлено 23.11.2016 11:35 Сообщение: 8
Konachan
5

Пункты: 3815
Регистрация: 30.08.2014
Поставил слаку, в ней лог более подробный http://pastebin.com/mULmYQc3 . Ошибки те же, карта отключается где-то в начале перезагрузки, что ломает ФС. Надо бы на гитхаб китайцам баг завести - пусть будет, только я не знаю, как правильно написать...
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.11.2016 12:07 Редактировалось 29.11.2016 11:24 Сообщение: 9
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
упс.. неудачно отредактировал свое же.., оригинал:

"да, положил три дня на попытки поиска..
1. нашел другую версию драйвера - не помогло
2. уменьшил тактовую на sd/mmc с 50МГц до 25 и даже 20МГц - не помогло
3. покрутил тайминги - нифига

нутром чую, что китайцы что-то недописали.. беда в том, что они склонировали однопортовый исходник на двупортовый и даже на сорц для eMMC..
я поднял светодиод с функцией mmc0 - на перезагрузке/выключение видно как он взмаргивает, но том неизменно оказывается некорректно отмонтирован или убит..

на гитхаб никогда не писал - дотянутся руки, наябедничаю.."

Цитата
на гитхаб никогда не писал - дотянутся руки, наябедничаю..

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Konachan
Добавлено 20.02.2017 14:28 Сообщение: 10
Konachan
5

Пункты: 3815
Регистрация: 30.08.2014
Завел баг у китайцев на гитхабе.
Если не сложно, отпишитесь там, чтобы китайцам было понятно, что не мне одному это интересно.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-NUC976