Hatred's Log Place

DON'T PANIC!

Mar 1, 2009 - 1 minute read - linux

Странности с сетью

В общем, было уже давно мной замечено странное поведение в работе с интернетом с компов что сидят за маскарадингом в моей маленькой домашней сети. В чем это проявляется? А вот в чем: не через прокси практически невозможно серфить по WWW, открываются только единичные сайты, некоторые протоколы, конкретно столкнулся с git, не работают - просто висит соединение.

Схема подключения такая: [компы сети]=====[свитч]——[роутер (inet via pppoe)]——-[ADSL модем]–~~~~~–[internet]

Анализ сетевых настроек ничего не дал, игры с MTU/MRU тоже, отключение ipv6 и windows scaling тоже, анализ работы tcpdump тоже… Поиск решения по интернету проводился долго и мучительно, но в итоге набрел на обсуждение: http://www.usenet-forums.com/linux-networking/71513-iptables-adsl-some-protocols-not-working.html и на документацию: http://www.linux.org/docs/ldp/howto/Adv-Routing-HOWTO/lartc.cookbook.mtu-mss.html

Результат - решение проблемы: добавить правило для iptables: iptables -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu

конкретно в моём случае они получились такими: -A FORWARD -i eth1 -o ppp999 -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu -A FORWARD -i ppp999 -o eth1 -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu

PS кстати, отключить ipv6 можно так: создать файлик /etc/modprobe.d/ipv6 со следующим содержимым: alias net-pf-10 off

Mar 1, 2009 - 12 minute read - linux

nForce4 (CK804) и NCQ решение проблемы

Включаем

В продолжении ранее поднятой темы

Покумекав по форумам нашел информацию, что на моём чипсете NCQ должен включаться параметром adma=1 модулю sata_nv, в первую очередь смутило то, что спросив modinfo sata_nv, мне было сказано, что опция включена по дефолту. Но мы обычно не верим, и проверяем.

Feb 25, 2009 - 1 minute read -

Обновление

Обновил DokuWiki до последней редакции. Заодно сменил темплейт на r7throot5, в котором сходу пришлось подправить некоторые данные в rss, что бы с моими темами в системе оно было бы юзабельно (белый текст на белом фоне это конечно круто:))

/UPDATE/ если используется плагин Avatar: или обновите его так же, или вниметльно прочитайте на странице http://www.dokuwiki.org/plugin:avatar касательно функции isvalidemail()

Feb 25, 2009 - 1 minute read - linux

nForce4 (CK804) и NCQ

Цитата (http://blog.kovyrin.net/2006/08/11/turn-on-ncq-on-ich-linux/#comment-4100):

SATA Native Command Queueing support

This is automatically enabled if both the controller and device support NCQ. libata supports maximum of 31 concurrent commands. If NCQ is enabled you should be able to see a message like the following during device initialization.

ata1.00: ATA-7, max UDMA7, 312581808 sectors: LBA48 NCQ (depth 31/32)

If the device supports NCQ but the host doesn’t, you’ll get

ata8.00: ATA-7, max UDMA7, 312581808 sectors: LBA48 NCQ (depth 0/32)

Queue depth can be adjusted by

echo 16 > /sys/class/scsi_device/0:0:0:0/device/queue_depth

But, there aren’t many good reasons to mess with queue depth.

У меня:

dmesg | grep NCQ

ata3.00: 1465149168 sectors, multi 1: LBA48 NCQ (depth 0/32)

Теперь появился повод подумать… У кого нить есть какие предложения? Может на это влияет различные параметры SATA/IDE в BIOS?

PS версия драйвера sata_nv: 3.5, ядро 2.6.28.2

Feb 24, 2009 - 3 minute read - linux

strace и его аналоги в других *nix (truss, par)

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

Feb 17, 2009 - 1 minute read -

Memcached на Solaris

Проблема: есть установленный Solaris 10 (SPARCv9), в зоне запущен memcached 1.2.6 (последний стабильный), через некоторое количество активных запросов к мемкешу он впадает в коматозное состояние - перестает отвечать вообще (подключения позволяет устанавливать, к примеру, тем же telnet'ом, но уже на запросы текстовым протоколом не даёт никакие ответы).

Решение: перекомпилить memcached без параметрета скрипта ./configure --enable-threads, после чего опция запуска -t будет недоступна. Баг memcached? Попробую в багтрак запостить.

Почти три дня ушло на поиск решения проблемы. Интернет по этому поводу вообще молчал.

Feb 14, 2009 - 2 minute read -

Текстовые браузеры

Каждый со своими особенностями и прочим. Какие-то забыл? Комментируйте :)

  • lynx - наверное самый старый, потому и самый первый. Есть почти в любом дистрибутиве Linux, умеет дампить html в простой текст, что используется в mc для отображения html страничек по F3. Не умеет таблиц, что очень часто портит восприятие страницы. Фишек много, но не получилось сохранить капчу, которая в html задана в таком виде: <img src="/confirm.php" alt="captcha" title="captcha" border="0"> Отобразился только альтернативный текст. Есть в репозитариях Arch Linux
  • links - старенький и уже не развивается, трудно найти в дистрибутивах уже, умеет таблички, не умеет, к примеру, HTTP аутентификации.
  • elinks - расширили links новыми возможностями, стал хорошим браузером, не без своих загонов конечно, капчу показанную выше позволил сохранить, что я потом посмотрел в zgv и ввел в браузере - прошло. Но дальше было ожидание до скачивания, сделанное на js, так что обломился :) Наличиствуется в репозитариях Arch Linux.
  • links2 - дальнейшее развитие links (кто бы дал умереть ему!?) научился работать в графическом режиме (links -g), научился http аутентификацию. С капчей вышеуказанной поступил как elinks. Таблицы и прочая радость и… практически невозможно работать из UTF8 терминала… ну заточен он на 8бит кодировки, так что юзаем luit. Он как и luit есть в резпозитариях Arch Linux.
  • Links Hacked - по сути - links2 + портирование некоторых фич из elinks. Остальное не юзал, не знаю.
  • w3m - наверное самое вкусное… первое что бросается в глаза - отлично работает с UTF8, а как же - разработчик японец, а там с кодировками почище нашего :) умет таблицы, умеет как и lynx дампить html, посему в конфиге mc и занял место lynx'а. Капчу отобразил мне как и lynx, т.е. прочесть не удалось. Есть в репозитариях Arch. Из вкусностей: w3mman - гипертекстовый навигатор по man страницам, в секции See also подствечивает гиперссылками страницки на которые можно перейти - удобно :) Главное меню вызывается по клавише Ins

Да, все браузеры не умеют java script, для w3m наткнулся на это: http://abe.nwr.jp/w3m/w3m-js-en.html но вроде как не жизнеспособно.

Feb 6, 2009 - 1 minute read -

OpenDNS

Если DNS провайдера подгоняет, или висит, или у вас несколько линков в Internet, которые переключаются в зависимости от доступности, а DNS провайдера отвечает только в том случае, если с его адресов запрос пришел (Привет Дальсвязи! И спасибо НТК, что отвечают не только своим адресам). Собственно выход - использовать нейтральный DNS сервис. Один из таких (в Техлайн Транстелеком их выдал на запрос :)) - OpenDNS.

Сайт сервиса: http://www.opendns.com

Первичный и вторичный DNS:

  • resolver1.opendns.com: 208.67.222.222
  • resolver2.opendns.com: 208.67.220.220

Jan 29, 2009 - 1 minute read - linux

Прошивка BIOS из Linux

Собственно только недавно начал собирать информацию, как в отсутствии винды и доса прошить BIOS, и вот уже ответ: flashrom. Сам пока не тестировал, svn версия лежит в у ArchLinux в AUR: http://aur.archlinux.org/packages.php?ID=23390

По результатам отпищусь позже :)

Jan 23, 2009 - 1 minute read - linux

Генератор паролей подручными средствами

На заметку, без особой гибкости, но…

В общем команда: dd if=/dev/urandom count=128 | uuencode - | mkpasswd -s

выдаст примерно следующее: OvdDK0TV8FZQY

или, вариация: dd if=/dev/urandom count=128 | uuencode - | mkpasswd -s -m md5

выдаст примерно следующее: $1$cIpngJsx$LT.EpSQS3rEQPfAeBCDhI1

поднобности: mkpasswd –help mkpasswd -m help man mkpasswd

Да, вообще mkpasswd генерирует хеш последовательности… но :)

UPD:

На моей ArchLinux машинке mkpasswd утилита находится в пакете expect и работает значительно проще: $ mkpasswd js2ts4TG”

Длинну сгенерированной последовательности можно задать при помощи параметра -l __число__. Посмотреть какие параметры он понимает штатным образом не предоставляется возможнным, автор скрипта (да, это скрипт на tcl) не предусмотрел такой возможности :) Потому, кому интересно, - смотрим сам скрипт.

Jan 20, 2009 - 2 minute read -

EeePC и обновление до ядра 2.6.28

В репозитариях ArchLinux появилось ядро 2.6.28, сегодня утром проивел обновление системы. Сразу всплыло несколько проблем:

  • некорректно работает тачпад в иксах
  • странно работает wifi

Итак, по порядку…

Elantech Touchpad

Input устройства у меня подключены через hal, соответственно в /etc/hal/fdi/policy лежал (да и лежит) файлик 09-x11-elantech.fdi вот только беда, после обновления он вроде как не цепляется (точнее это я понял потом, что он не цепляется).

Симптомы такие:

  • “дерганное” передвижение курсора в иксах, отсутствие реакции на слабые перемещения по тачпаду
  • при переключении из иксов в консоль и обратно: курсор вообще перестает двигаться, в консоли наблюдаем: FIXME (EE) EXPS/2 Elantech Touchpad: ... - disabled

Причины, трудно сказать кто конкретно - hal или ядро, но внутри fdi была строчка:

посмотрев вывод hal_device я обнаружил, что у тачпада в списке capabilities нет строки input.touchpad, есть только input и input.mouse, поэтому вышеуказанная строчка приобрела вид:

и полный fdi стал такой:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.mouse">
        <match key="info.product" contains="Elantech Touchpad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
        <merge key="input.x11_options.SHMConfig" type="string">on</merge>
        <merge key="input.x11_options.MaxSpeed" type="string">1.00</merge>
        <merge key="input.x11_options.MinSpeed" type="string">0.75</merge>
        <merge key="input.x11_options.Emulate3Buttons" type="string">on</merge>
        <merge key="input.x11_options.VertTwoFingerScroll" type="string">1</merge>
        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">1</merge>
        <merge key="input.x11_options.TapButton1" type="string">1</merge>
        <merge key="input.x11_options.TapButton2" type="string">2</merge>
        <merge key="input.x11_options.TapButton3" type="string">3</merge>
        <merge key="input.x11_options.LockedDrags" type="string">11</merge>
      </match>
    </match>
  </device>
</deviceinfo>

после чего делаем /etc/rc.d/hal restart и, на всяк, перезапускаем иксы. Всё, работа восстановлена.

Wifi

Тут вспомнил, что на archlinux.org.ru проскакивала информация, что драйвер переделан для совместимости с rfkill.

Раньше карточку можно было включать/выключать записывая 1 или 0 в /sys/devices/platform/eeepc/wlan, теперь же это нужно делать через /sys/class/rfkill/rfkill0/state, соответственно нужно подправить конфиг для acpi: /etc/acpi/eee.conf (смотреть предыдущие статьи).

Но и это не всё.

К сожалению, одно сделали - другое поломали, т.е. раньше драйвер eeepc_laptop знал - включена или нет wifi карта и, соответственно, генерировал на нажатие Fn + F2 разные последовательности.

Теперь он не знает. Поэтому пришлось сделать небольшой хак (надеюсь временный), основанный на сиквенс-намбере нажатия - делим на 2 и получаем остаток, если 0 - выключаем карту, если 1 - включаем.

Что бы это работало - меняем файл /etc/acpi/eee-handler.sh, находим где обрабатываются hotkey (строчка “hotkey)") далее ищем “00000010) # wlan on” комментируем строку #/etc/acpi/eee/wlan.sh poweron

и прописываем вот такие команды

some hack for 2.6.28 stock kernel

rez=$(( 0x$4 % 2 )) [ $rez -eq 0 ] && /etc/acpi/eee/wlan.sh poweroff [ $rez -eq 1 ] && /etc/acpi/eee/wlan.sh poweron

неприятно что asusosd будет постоянно говорить что wifi включается :(

В заключение

Нашел вот это:

новые темы в вики, на форуме и в AUR касательно Asus EeePC 1000

Jan 13, 2009 - 1 minute read -

Обновление udev 130->135 или как пропал интернет

После очередного обновления системы обновился udev с версии 130 на 135. Попутно хочу сказать, у меня две сетевых карточки, и, что бы именования интерфейсов сохранялись, используется 75-persistent-net-generator.rules, благодаря которому генерируется 70-persistent-net.rules.

Так вот, в новом udev произошли обновления, из-за которых старый 70-persistent-net.rules оказался несостоятельным. Имена сетевых интерфейсков поменялись, в результате PPPoE не поднимался. Пришлось удалить файл и переименовать 75-persistent-net-generator.rules.optional в 75-persistent-net-generator.rules и перечитать правила, подправить получившийся 70-persistent-net.rules. Но этого мало: нужно или выгрузить и подгрузить модули сетевух или перезагрузить систему, что бы правила подействовали на именование интерфейсов.

Собственно, вот такая вот ремарка.

Dec 26, 2008 - 3 minute read - linux

EeePC: dpi & wifi

В продолжение изначальной темы про мой EeePC. Разберем вопрос правильного задания DPI и как пользоваться WIFI и вообще сетью на ноутбуке.

DPI

Как задавать DPI (dots per inch / точек на дюйм) рассказано в статье про установку Arch Linux на EeePC 901 (смотреть мой первый пост про EeePC на этом блоге или пользоваться поиском на ArchWIKI). Я же хочу разобраться как получить это значение вообще, и какое оно будет для EeePC 1000HA, в частности.

Итак, разрешение матрицы монитора X на Y точек (пикселей). Тогда количество точек по диагонали: Z = sqrt(X^2 + Y^2)

Диагональ монитора D дюймов, тогда значение DPI: DPI = Z / D

Округляем его до большего целого.

Для EeePC имеем разрешение матрицы 1024x600 пикселей и диагональ 10.2 дюйма: Z = sqrt(1024^2 + 600^2) = 1186.8 DPI = 1186.8 / 10.2 = 116.36 ~ 117 dpi

Иногда встречается информация, что диагональ 10 дюймов… спорить не берусь, меня пока всё устраивает :)

А для моего ThinkPad T530 (15.6 inch, 1920x1080): Z = sqrt(1920^2 + 1080^2) = 2202.90717 DPI = 2202.90717 / 15.6 = 141.21 ~ 141 dpi Width = 15.6 / 2202.90717 * 1920 * 25.4 = 345.35 ~ 345 mm Height = 15.6 / 2202.90717 * 1080 * 25.4 = 194.26 ~ 194 mm

Прописываем полученное значение в /etc/X11/xinit/xserverrc, где строчка запуска превращается примерно в такое: exec /usr/bin/X -nolisten tcp -dpi 117 “$@”

При использовании всяких mdm, gdm, kdm и иже с ними, нужно параметры запуска Xserver искать у них в настройках. Плюс, при таких настройках строчка ниже упорно рапортует о 96dpi. Зато в логах Xorg.0.log гордо красуется 141 (это уже новый ноутбук). При конфигурировании через xorg.conf картина с точностью до наоборот.

Перезапускаем, проверяем при помощи xdpyinfo: xdpyinfo | grep -B2 resolution:

На картах nVidia (это уже не про EeePC :simple_smile:) есть опция для драйвера DPI, использовать её как-то так:

Section "Device"
    Identifier          "Card0"
    Driver              "nvidia"
    ...
    Option              "UseEdidDpi"   "false"
    Option              "DPI"          "141 x 141"
EndSection

Для других карт поможет DisplaySize в миллиметрах (сохраняем, например, в /etc/X11/xorg.conf.d/90-monitor.conf):

Section "Monitor"
	Identifier "<default monitor>"
	DisplaySize 345 194 # посчитали выше
EndSection

Более подробно:

WIFI

Хотя не только он, но больше про него.

Первое, говорится что стандартный драйвер не очень хорошо работает, я не стал проверять, поставил madwifi-hal из AUR. Надо только занести модуль ndiswrapper в blacklist или вообще удалить пакеты ndiswrapper и ndiswrapper-utils (если были поставлены). Если с драйвером madwifi-hal карточка не заведется, то, как рекомендуют форумы, стоит попробовать родной драйвер ath5k, и наоборот.

Да, я думаю пакет acpi-eee901 у вас уже стоит, так вот, стоит отредактировать файл /etc/acpi/eee.conf, конкретно, изменить значение переменной WIRELESS_MODULE и поставить её в ath_pci (в случае использования madwifi-hal) или ath5k (в случае использования стокового драйвера).

Теперь дело за малым. За менеджером соедененний.

Ноутбук устройство мобильное, и может использоваться в различных сетях, каждый раз править /etc/rc.conf и перезапускать сеть не выход. На помощь приходят менеджеры соединений. На себе проверил wicd, который есть в репозитариях ArchLinux. Прочитать про его настройку можно тут. Хотя я настроил методом “научного клика” и все заработало на ура :)

Для консоли есть netcfg2, проект разрабатывается в рамках дистрибутива, так что глупо говорить о его наличии в репозитариях арча. Прочитать про его использование можно тут

Проверил работу wifi совместно с wicd на работе - работает :) На этом тема wifi для меня пока закрыта.

Dec 23, 2008 - 1 minute read - linux

Asus EeePC 1000HA

На прошлой неделе пришел мне сабжевый нетбук. Машинка неплохая, мне, вцелом понравилась :)

В продаже, на момент покупки была только версия с WindowsXP SP3, которую по приходу снес и поставил туда ArchLinux.

При конфигурировании пользовался статьями а ArchWiki:

По результату, использую стоковое ядро, вайфай ещё не трогал, пока родной стоковый драйвер сетевой карточки (но уже сталкивался с ошибкой в назначении MAC адреса, так что нужно будет обновиться). Тачпад настроил пока по дефолту, настроил ACPI (из первой статьи для Eee PC 901), так что кнопочки все работают, suspend2ram работает тоже, звук изменяется и яркость тоже. Настроил cpufreq в целях экономии батареи. В общем ещё опишу что да как.

В планах: