Инструменты пользователя

Инструменты сайта


ac:nastroika_hostov

Настройка хост-компьютеров

Предварительная настройка хост-компьютеров

Установка пакетов

в основном нужно только для минских плат, но плохого ничего не сделает

sudo apt-get install setserial

Количество портов в системе

количество портов прописывается при загрузке ядра

sudo nano /boot/grub/menu.lst

находим первое вхождение строки (цифры могут отличатся от версии ядра, параметры тем более)

kernel          /boot/vmlinuz-2.6.17-12-386 root=UUID=2a60 ro quiet splash

добавляем параметр «8250.nr_uarts=30» примерно так:

kernel          /boot/vmlinuz-2.6.17-12-386 8250.nr_uarts=30 root=UUID=2a60 ro quiet splash

где 30 это кол-во портов + 4

перезагружаемся

sudo reboot

посмотреть сколько рабочих портов можно так

setserial -g /dev/ttyS* | grep 16950

Настройка скорости портов

необходимо только для минских плат

удаляем файл настроек портов

sudo rm /var/lib/setserial/autoserial.conf

добиваемся дефолтных настроек

sudo dpkg-reconfigure setserial

выбрать сохранение ядром

перезагружаемся

sudo reboot

добиваемся дефолтных настроек

sudo dpkg-reconfigure setserial

выбрать сохранение один раз

перезагружаемся

sudo reboot

меняем скорость портов

sudo nano /var/lib/setserial/autoserial.conf

меняем все строчки типа

/dev/ttyS4 uart 16950/954 port 0xb400 irq 177 baud_base 115200 spd_normal skip_test

на

/dev/ttyS4 uart 16950/954 port 0xb400 irq 177 baud_base 460800 spd_normal skip_test

смену можно сделать следующими командами

cd /var/lib/setserial/
sudo -s
cat autoserial.conf | grep "16950/954" -v > autoserial.conf.tmp
cat autoserial.conf | grep "16950/954" |  sed 's/115200/460800/g' >> autoserial.conf.tmp
mv autoserial.conf.tmp autoserial.conf
exit

контрольный ребут

sudo reboot

Настройка имени портов

необходимо только для плат MOXA

источник идей http://www.reactivated.net/writing_udev_rules.html

для начало определяем как у наз называются порты в системе обычно для мохи это ttyMI1 ttyMI2 и т.д.

надо найти где у нас эти устройства лежат

find /sys -name dev | grep ttyM

получим список что-то вроде этого

/sys/class/tty/ttyMI1/dev
/sys/class/tty/ttyMI0/dev

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

udevinfo -a -p /sys/class/tty/ttyMI1/dev

и

udevinfo -a -p /sys/class/tty/ttyMI0/dev

будет что-то вроде

  KERNELS=="ttyMI1"
  SUBSYSTEMS=="tty"
  DRIVERS==""
  ATTRS{dev}=="174:1"
  KERNELS=="ttyMI0"
  SUBSYSTEMS=="tty"
  DRIVERS==""
  ATTRS{dev}=="174:0"

очень внимально смотрим а не тупо копируем, так как в зависимости от ядра системы, вывод может быть разным например

  KERNELS=="ttyMI0"
  SUBSYSTEMS=="tty"
  DRIVERS==""
  SYSFS{dev}=="174:0"

из-за этих 5 разных букв(если вставите не то) ваша система больше не загрузится :!:

для приведеных 2х портов правило переименования будет

SUBSYSTEMS=="tty", ATTRS{dev}=="174:1", NAME="ttyS13"
SUBSYSTEMS=="tty", ATTRS{dev}=="174:0", NAME="ttyS12"

cохроняем их в файл /etc/udev/rules.d/10-local.rules (возможно его не будет)

и пытаемся проверить что мы там наделали

udevtest /sys/class/tty/ttyMI1

если не будет ошибок и в выводе строк будет присутствовать что-то вроде

udev_rules_get_name: rule applied, "ttyMI1" becomes "ttyS12"

значит все хорошо и можно перегружаться.

:!::!::!: если где-то написали лишнию букву и система не грузится, то надо загружаться с liveCD и править файл.

Настройка имени портов 18.04

и так у нас 2 паорта /dev/ttyACM0 и /dev/ttyACM1 меняются местами.

узнаем отличия

udevadm info -q all /dev/ttyACM0 --attribute-walk
udevadm info -q all /dev/ttyACM2 --attribute-walk

будет что-то вроде

  KERNEL=="ttyACM0"
  SUBSYSTEMS=="tty"
  ATTRS{idProduct}=="0005"
  ATTRS{idVendor}=="2912"
  ATTRS{bInterfaceNumber}=="00"
  KERNEL=="ttyACM2"
  SUBSYSTEMS=="tty"
  ATTRS{idProduct}=="0028"
  ATTRS{idVendor}=="079b"

очень внимально смотрим а не тупо копируем, так как в зависимости от ядра системы, вывод может быть разным из-за этих 5 разных букв(если вставите не то) ваша система больше не загрузится :!:

именно в этой задаче сложность что есть еще devACM1 который не надо трогать

для приведеных 2х портов правило переименования будет

SUBSYSTEM=="tty" ATTRS{idProduct}=="0028" ATTRS{idVendor}=="079b" SYMLINK+="ttyPIN"
SUBSYSTEM=="tty" ATTRS{iad_bFirstInterface}=="00" SYMLINK+="ttyKKM"

cохраняем их в файл /etc/udev/rules.d/10-local.rules (возможно его не будет)

и пытаемся проверить что мы там наделали

sudo udevadm test $(udevadm info -q path -n /dev/ttyACM1)

если не будет ошибок и в выводе строк будет присутствовать что-то вроде

creating link '/dev/ttyKKM' to '/dev/ttyACM0'

значит все хорошо и можно перегружаться.

:!::!::!: если где-то написали лишнию букву и система не грузится, то надо загружаться с liveCD и править файл.

Настройка перезапуска без пароля

для того чтобы при запуске\перезапуске ядра не спрашивался пароль надо после запуска команды

sudo visudo

в конце файла добавить

ALL      ALL = NOPASSWD: /usr/bin/killall, /etc/init.d/ackerneld
ac/nastroika_hostov.txt · Последнее изменение: attid

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki