Hatred's Log Place

DON'T PANIC!

Mar 1, 2009 - 1 minute read - Comments - 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 - Comments - linux

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

Включаем

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

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

Feb 25, 2009 - 1 minute read - Comments -

Обновление

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

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

Feb 25, 2009 - 1 minute read - Comments - 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 - Comments - linux

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

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

Feb 17, 2009 - 1 minute read - Comments -

Memcached на Solaris

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

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

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

Feb 14, 2009 - 2 minute read - Comments -

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

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

  • 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 - Comments -

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 23, 2009 - 1 minute read - Comments - 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 - Comments -

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 включается :(

В заключение

Нашел вот это: * http://wiki.archlinux.org/index.php/Asus_Eee_PC_1000 * http://aur.archlinux.org/packages.php?ID=22986 (не проверял ещё) - проверил, рекомендую к использованию :exclamation: * http://bbs.archlinux.org/viewtopic.php?id=62514

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

Jan 13, 2009 - 1 minute read - Comments -

Обновление 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. Но этого мало: нужно или выгрузить и подгрузить модули сетевух или перезагрузить систему, что бы правила подействовали на именование интерфейсов.

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