LINUX.ORG.RU

Сообщения punya

 

EJTAG v2.6 wiggler

Хочется окирпичить и раскирпичить роутер. Для армов рынок завален wiggler H-JTAG. А что можно использовать готовое для MIPS EJTAG v2.6? Есть неготовое. Вижу единственный вариант. Нет ли чего попроще?

 , ,

punya
()

SYN_SENT hang

После 8 часов работы компьютера все tcp запросы идут жэсточайшэ долго на любой хост. провайдер - byfly

curl -v http://www.google.by
netstat -np | grep -i curl
> tcp        0      1 192.168.0.3:59216       173.194.40.87:80        SYN_SENT    13244/curl
sudo grep -i "173.194.40.87" /proc/net/ip_conntrack
> 104 SYN_SENT src=192.168.0.3 dst=173.194.40.87 sport=59216 dport=80 [UNREPLIED] src=173.194.40.87 dst=192.168.0.3 sport=80 dport=59216 secctx=null use=2
таблица ip_conntrack не переполняется

  • перезагрузка компа - сразу все отлично
  • смена mac адреса модема - никакого толку
  • перезагрузка модема и его друзей посредством отключения питания - никакого толку
  • смена mac адреса компа и перезапуск dhcp - никакого толку
  • выгрузить/загрузить модуль r8169 - никакого толку
  • отключить tcp_sack, перезагрузится и подождать 8 часов - никакого толку
  • подождать 2-3 часа - снова все отлично

конфигурация генты дома такая же, как и на работе. но на работе другой провайдер и комп работает месяцами без проблем.

есть достаточно знаменитый тред. читал и кивал головой. вродебы они пришли к тому что «Ephemeral Port Range» нужно изменить

sudo cat /proc/sys/net/ipv4/ip_local_port_range
>32768	61000

описанными в треде портами 3127-3198 тут не пахнет. и как этот промежуток изменить, чтобы syn_sent не бесил?

ну или может какой-то другой костыль вставить?

 ,

punya
()

где взять MIPS stage 3

Хочется тестировать программы на MIPS с помощью qemu-user + chroot. Где можно взять stage 3 готовый?

Перемещено beastie из development

 , ,

punya
()

Кто работает в Red Hat

Можете узнать у начальства - будет ли офис в Беларуси и как скоро? У нас тут рабочей силы много

 

punya
()

nvidia 319.17 опять фризы

Со времен 290.х не знал что такое фризы. Думал что уже не встречу. И тут новая версия - опять знаменитый фриз. Система gentoo amd64 testing

NVRM: GPU at 0000:01:00: GPU-d270cb75-805e-ffa3-dd7f-c170d6a09fb5
NVRM: Xid (0000:01:00): 32, Channel ID 00000000 intr 00008000
NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
NVRM: Xid (0000:01:00): 8, Channel 00000001
NVRM: Xid (0000:01:00): 13, 0001 00000000 00009039 00000300 00101100 00000023 (сотни раз)
На экране чертовщина и видеокарта (560 ti) пытается взлететь на вентиляторах.

Случилось это после того, как я открыл в хромиуме богомерзкий флеш (ютуб). Понятно что решения ни у кого нет. Ну может хоть какие-нибудь догадки о этой ошибке появились за 2-3 года?

 ,

punya
()

UART <-> USB

Захотелось жить как нормальные люди. Пошел выбирать роутер для установки openwrt. После чтения манов стало ясно, что без консольного порта любая ошибка до старта telnet, ssh, вебки - смертельна. Открываю магазин

тип - роутер с wifi точкой
консольный порт - надо
> D-Link DSR-250N - 164$
> D-Link DSR-500N - 271$
FUU. дорого и функционала ненужного насвинячили

Дальше читаю ман - на большинстве дешевых роутеров есть UART. Открываю магазин

+3.3V based TTL level UART <-> USB
> свисток на чипе CP2102 - 25$
FUU

Дальше читаю ман - можно подключить UART к RS-232. Открываю магазин

USB <-> RS-232
> переходник - 5$
UART <-> RS-232
> паяльник http://habrahabr.ru/post/109395/
> дата кабель от старого телефона с чипом MAX232

Паять не хочется. Не подскажите какие дата кабели можно сейчас найти для UART <-> RS-232 или вдруг UART <-> USB?

набрался наглости скастовать AiFiLTr0

 

punya
()

curl работает - браузер нет

Мне дали доступ к какому-то левому vpn. В нем на машине есть сайтик

sudo pon vpn
sudo ip route add 192.168.1.57 via 192.168.1.47
curl http://192.168.1.57:81
виден html. открываю в любом браузере - не может соединится. например
links http://192.168.1.57:81
пишет «Request sent». как такое вообще может быть? В какую сторону копать?

ip route
default via 192.168.0.1 dev eth0  metric 2 
127.0.0.0/8 via 127.0.0.1 dev lo 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.3  metric 2 
192.168.1.47 dev ppp0  proto kernel  scope link  src 192.168.1.41 
192.168.1.57 via 192.168.1.47 dev ppp0

Перемещено mono из talks

 

punya
()

Изолента вокруг кристалла

Какую изоленту применить, чтобы закрыть вокруг все, кроме кристалла? Классическая синяя плавится при 70 градусах и не подойдет

 

punya
()

snscanf

Где брать snscanf для си? такого вида

int snscanf(const char *str, size_t size, const char *format, ...);

 ,

punya
()

grep perl ?!

Как использовать grep в режиме perl с последовательностью "?!"?

echo "abbbc" | grep -P "(?\!a)(.*?)c"
>> grep: unrecognized character after (? or (?-
знак "!" нужно экранировать, т.к. он зарезервирован в баше. а как его правильно экранировать?

почему мне нужен режим перл: я хожу быстренько найти где в коде не тригерится change после изменения .val у селектов, инпутов и тд. тут важны вложенные скобки. я хочу выполнить команду

grep -RPin "\.val[\s]*?(\((?:[^\(\)]++|(?1))*\))(?!\.change)" *
чтобы идти расстреливать тех, кто это сделал =)

 , ,

punya
()

Non-zero Async Control Character Maps are not supported

Есть рабочий vpn (под виндус), который прекрасно работал пару недель назад. Сегодня перестал работать

/etc/ppp/options.work

lock
noauth

refuse-pap
refuse-eap
refuse-chap
refuse-mschap

require-mppe-128
debug

/etc/ppp/peers/work

pty "pptp vpn.work.com --nolaunchpppd"
name DOMAIN\\username
password password
require-mschap-v2
remotename work
file /etc/ppp/options.work

лог

CHAP authentication succeeded
sent [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [CCP ConfReq id=0x4 <mppe +H -M +S -L -D +C>]
sent [CCP ConfNak id=0x4 <mppe +H -M +S -L -D -C>]
rcvd [CCP ConfAck id=0x1 <mppe +H -M +S -L -D -C>]
rcvd [CCP ConfReq id=0x5 <mppe +H -M +S -L -D -C>]
sent [CCP ConfAck id=0x5 <mppe +H -M +S -L -D -C>]
MPPE 128-bit stateless compression enabled
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0x6 80 21 01 01 00 10 02 06 00 2d 0f 01 03 06 00 00 00 00]
Protocol-Reject for 'Internet Protocol Control Protocol' (0x8021) received
anon log[ctrlp_disp:pptp_ctrl.c:950]: PPTP_SET_LINK_INFO received from peer_callid 0
anon log[ctrlp_disp:pptp_ctrl.c:953]:   send_accm is FFFFFFFF, recv_accm is FFFFFFFF
anon warn[ctrlp_disp:pptp_ctrl.c:956]: Non-zero Async Control Character Maps are not supported!
rcvd [LCP TermReq id=0x7 "-\nA\37777777702\000<\37777777715t\000\000\000\000"]
LCP terminated by peer (-^JAM-B^@<M-Mt^@^@^@^@)
sent [LCP TermAck id=0x7]
anon log[ctrlp_disp:pptp_ctrl.c:912]: Received Call Clear Request.
Connection terminated.

Пробовал ставить разные MTU на сетевой интерфейс - никакого толку

 

punya
()

Генерация случайного GUID

Дано

5 позиций, в каждой из них может стоять маленькая буква или число. Итого 36 ^ 5 вариантов. Занятые GUID храняться

Задача

Получить свободный GUID без коллизий с (желательно) равной вероятностью среди всех свободных GUID, обращаясь к хранилищу минимальное количество раз.

Как же правильно решать задачу такого типа? Хранить GUID в виде дерева и выбирать новый GUID согласно этому дереву? Есть ли готовые решения? (для линупса естественно)

 ,

punya
()

Зеркало торрент трекера

Дано:

  1. трекер с приватными торрентами, отказаться от которого не представляется возможным. Он часто и надолго падает, имеет драконовские лимиты по рейтингу. Надоело мурыжится
  2. 100к торрент-файлов, которые планируется выборочно качать

Задача:

создать зеркало трекера. подразумевается - опрашивать трекер по таймауту, забирать оттуда все данные, сохранять их в базе, на основе этой базы поднимать локальный трекер.

Писать велосипед или есть готовые решения? (ясное дело под линупс)

 

punya
()

F2FS презентация

 ,

punya
()

bonding adsl + 3g

/etc/conf.d/net

modules="bonding"

#adsl
config_eth0="null"
#config_eth0="192.168.0.3/24"
#routes_eth0="default via 192.168.0.1"

#3g
config_eth1="null"
#config_eth1="192.168.1.100/24"
#routes_eth1="default via 192.168.1.1"

mode_bond0="0"
miimon_bond0="100"
slaves_bond0="eth0 eth1"
config_bond0="192.168.0.3/16"
routes_bond0="default via 192.168.0.1"
#config_bond0="192.168.1.100/16"
#routes_bond0="default via 192.168.1.1"

Изменить подсеть, gateway и ip 192.168.1.100, выдаваемый 3g роутером невозможно. Могу сменить подсеть, gateway и ip, выдаваемый адсл роутером как угодно

Если использовать

config_bond0="192.168.0.3/16"
routes_bond0="default via 192.168.0.1"
трафик идет только через адсл

Если использовать

config_bond0="192.168.1.100/16"
routes_bond0="default via 192.168.1.1"
трафик идет только через 3g

Получается для bonding нужно готовить 2 одинаковые подсети, 2 одинаковых gateway и 2 одинаковых ip?

 ,

punya
()

Portage 2.1.11.51 пустой вывод

emerge --version
Portage 2.1.11.50
emerge -pvuDN --with-bdeps=y world
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild] ...
[ebuild] ...

emerge --version
Portage 2.1.11.51
emerge -pvuDN --with-bdeps=y world
These are the packages that would be merged, in order:
Calculating dependencies... done!

И пустой вывод вообще. В какую сторону колупать?

ЗЫ revdep-rebuild чист

Перемещено Pinkbyte из development

 , ,

punya
()

nut pollonly nut.powerfail

Имеется Powercom SKP-500 и домашний сервер на gentoo (ядро 3.7.6). вот такая проблема. Включил pollonly - флуд в логе пропал.

От управления упсом мне не нужно ничего кроме nut.powerfail. Будет ли он работать в режиме pollonly?

Или посоветуйте плс в какую сторону копать, чтобы вылечить ядро.

 , ,

punya
()

tcc gnu getline в рот мне ноги

#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>

void read_file ( FILE * file ) {
    size_t  len = 0;
    char *  line = NULL;
    ssize_t bytes_read;
    while ( ( bytes_read = getline ( &line, &len, file ) ) != -1 ) {
        printf ( line );
    }
    free ( line );
}
int main ( void ) {
    FILE *  file = fopen ( "/etc/fstab", "r" );
    read_file ( file );
    fclose ( file );
    return 0;
}

Запускаем

tcc -run test.c
>> # /etc/fstab: static file system information.
>> Segmentation fault
Меняем местами строчки
size_t  len  = 0;
char *  line = NULL;
И все работает как положено. Дэвид блейн, не надо!

ЗЫ баг уже отправил по почте

 ,

punya
()

libc хэш таблицы

Glibc 2.17, открываю search.h и вижу такой апи

int  hsearch_r  (item, action, **return, *htable)
int  hcreate_r  (nel, *htable)
void hdestroy_r (*htable)
и все?

Гуглю альтернативы:

  1. uthash макро ад!
  2. khash макро ад!
  3. glib hash тащить целый glib ради хэш таблиц не хочется
  4. strmap хранит char *, а не void *
  5. judy «if you have random access and sparse keys, Judy lookups and deletes could be twice as slow as an optimized hash table». не нужно
  6. hashit GPL v2 без Lesser

Итого выбрал CCAN.

Но тут внезапно гугл выкатывает u-boot где вижу апи

int     hcreate_r  (nel, *htable)
void    hdestroy_r (*htable)
int     hsearch_r  (item, action, **return, *htable, flag)
int     hmatch_r   (*match, last_idx, **return, *htable)
int     hstrstr_r  (*match, last_idx, **return, *htable)
int     hdelete_r  (*key, *htable, flag)
ssize_t hexport_r  (*htable, separator, flag, **responce, size, argc, *argv[])
int     himport_r  (*htable, *env, size, separator, flag, argc, *vars[])
int     hwalk_r    (*htable, *callback);
Етить колотить! Так это же апи моей мечты.

Вопрос почти риторический: почему этот форк уже минимум 2.5 года не видят разработчики glibc?

 , hashtable,

punya
()

Визуализатор выделенной памяти для talloc

Читал классную pdf про talloc и в конце увидел пикча 1 и пикча 2. На ней показано распределение занятой памяти при работе samba

Кто нибудь знает как можно сделать такую же визуализацию для любой программы, использующей talloc? Гугл ничего не подсказал

 , talloc,

punya
()

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