LINUX.ORG.RU

Сообщения mriadus

 

Atheros AR5418 - отваливается от AP каждые n часов.

Дело не в точке доступа, ибо с ней веками без ребута работал ipw2200 (интеловский вай-фай).

Щас адаптер = Atheros AR5418 и отвал от точки происходит каждые неск. часов. Помогает «iwconfig eth1 essid myap». Иногда это не помогает, а только:

iwconfig eth1 essid adsafasdfasdf
iwconfig eth1 essid myap
iwconfig eth1 essid myap
...
sleep 10
...
iwconfig eth1 essid myap
...опа, снюхалось.

Сее возмутительно.

Драйвер - который в 2.6.28 встроен. Правда, ядро у меня не чистое, а linux-2.6.28-gentoo-r6.

Скажите речь по данному поводу. Спасибо.

P.S.
Точка какая не помню, какой-то простой D-LINK доставшийся мне уже перешитым на Conceptronics. Ну, короче, с ним хорошо работал ipw2200. Правда, в виде модуля ядра, но разницы мне нет - у меня не драйвер виснет, что его перегружать надо, а происходит ожидание пинка от юзверя.

mriadus
()

Adobe Flash жрёт 2.7 гигов оперативы.

Дорогая редакция!
Сабж.
Linux gentoo.
adobe-flash-10.0.42.34

Он жрёт понемногу память. Всего 3 гига, свопа нет. Замечаю всё время, когда оно 2.7. Сначала я подумал, что оно медленно жрёт-жрёт-жрёт пока не убьёшь. А сёдня подумал, что оно доедает до 2.7 и останавливаеца. Чё за фиганда?

mriadus
()

Посоветуйте PCMCIA || ExpressCard SDHC-кардридер, работающий под linux.

Сабж.

mriadus
()

Посоветуйте девайс для NAT, bandwidth резалка, DHCP, HTTP-прокси-фильтровалка.

Нужен холоднокровный девайс (теплокровные - это греющиеся до состояния потребности в движущихся частях), без HDD, который бы мог жить на окне в рамках 2-5-10 мегабит, running linux, dhcpd, named, iptables, squid (без кеширования)...

mriadus
()

Торрентокачание.

Ktorrent жрёт проц. Не особо много, но интуитивно кажется, что можно и поменьше. Мне актуально, у меня кулер в ноуте гудеть начинает. Ну так вот:

1. Можно ли «передать все текущие дела» от ktorrent другому клиенту? Ну, то есть чтобы другой клиент продолжит всё качать с мест, на которых ktorrent находится сейчас.

2. Часто нет связи с трекером. Но достаточно связи с пирами. ktorrent, теряя связь с трекером (не могу законнектиться), продолжает спокойно качать, пока пиры не передохнут. Я пробовал какой-то консольный качатор, и как только он обламывался связаться с трекером, он останавливал закачун. Что за проза?

Скажите речь по поводу двух пунктов. Спасибо.

mriadus
()

Переезд на новый комп, установка методом тупого копирования корня старого компа.

Старый комп - 32 bit, новый - 64 bit.

Всё время на внешнем HDD лежит бекап всего корня (без фанатизма, т.е. без сохранения темпов, кешей, портежей, фильмов, музона, дистфайлов и прочего гарбеджа).

Когда надо поставить систему на новый комп, я гружусь с флешки, монтирую этот винт, создаю на винте компа ФС и кладу туда корень из бекапа со всеми пирогами. Создаю /proc, /dev, /tmp, /sys, ставлю загрузчик и после ребута я в знакомой системе. Ну, может быть, дрова какие-то надо будет доставить (видео, звук). Но ведь удобно - стоит прежний софт, есть прежний /etc, работают прежние скрипты и демоны.

Какого фига меня обвиняют в том, что это очень грязный способ? Что конкретно не так? (всё не так, ты дебил, ошибка в ДНК - это мне уже сказали, но обломались увеличить уровень точности высказывания). Или эти обвинения от людей, которым важнее внутренняя правильность, чем суть и смысл действа? )

mriadus
()

ATI, fglrx драйвер, какую взять версию? Gentoo.

Слишком новые версии не видят видеокарту ATI X1400, слишком старые не согласны работать с ядром. Надо подобрать что-то среднее.

Всё клёво работало так:

* ati-drivers-8.573
* linux-2.6.26-gentoo-r4.

Понадобилось поднять Atheros ieee 802.11abgn AR5418. Он есть в ядре начиная с 2.6.27. Можно конечно другими способами делать, но я взял 2.6.28 (т.к. очередная версия fglrx сказала, что не будет работать в ядре, 29 или старше).

emerge -v =ati-drivers-8.593

Собрало такой драйвер, который вырубает экран насовсем, помогает ребут только.

В общем, посоветуйте версию. Сижу на vesa. Драйвера «radeonhd», «ati» лагают на некоторых операциях. Работа с radeonhd тормозит на каждом выводе картинки на экран, словно лаги в операциях копирования пиксельного буффера (яхз).

Сабж, короче. Посоветуйте версию.

Ебилд для версии своей мечты 8.573 нашёл, но он кривой и его можно править сто лет. Я не помню, как я таки скомпилил год назад 8.573.

mriadus
()

ATI, fglrx драйвер, какую взять версиюTI X1400

Слишком новые версии не видят видеокарту ATI X1400, слишком старые не согласны работать с ядром. Надо подобрать что-то среднее.

Работало так:

1

mriadus
()

xorg, ATI X1400, fglrx, ненахождение устройства.

(II) ATI Proprietary Linux Driver Version Identifier:8.67.4
(II) ATI Proprietary Linux Driver Release Identifier: 8.671
(II) ATI Proprietary Linux Driver Build Date: Nov 4 2009 09:43:39
(II) Primary Device is: PCI 01@00:00:0
(WW) Falling back to old probe method for fglrx
(EE) No supported AMD display adapters were found
(EE) No devices detected.

---------------------------------

Какие устройства и кем не найдены? Fglrx не нашёл видео-адаптер?

ATI X1400 - это слишком древний для версии 8.671 или слишком новый?

mriadus
()

Посоветуйте или отговорите. SSD для ноута.

Сейчас стоит 5400 SATA HDD. Всякие Оперы стартуют по 2 секунды, читая на диске кучу всякого кеша и почтовых баз наверное... Если 7200 RPM воткнуть, будет импрувмент? А если SSD, то будет ваще импрувмент-импрувмент?

Ок. А расскажите про ограниченное число записей ) Или уже есть FS, минимизирующие кол-во записей в один и тот же сектор?

Знакомый тут купил какую-то Intel-штуку SSD чуть ли не за $1000. Все говорили: «ты чё, это же тыща баксов, офигел». Но он так доволен, что просто офигеть.

mriadus
()

Adobe Flash, YouTube HD, лаги.

Я тут создавал пару топиков...

Тема: воспроизведение HD-видео без тормозов.

Лаги:

* Pentium M760 (2GHZ, 2MB Cache)
* 533 mhz memory.
* ATI X300 64MB
( Небольшие, но когда нет - проц съеден на 100% )

Лагов нет:
* Core2Duo T5600 (1.86 Ghz, 2MB Cache)
* 667 mhz memory
* ATI X1400 128MB

Варианты:
(1) Тупо быстрее железо, проц мелет зерно быстрее.
(2) Adobe Flash определил и заюзал ssse3, 64-битный код ((3)разве для 32bit и 64bit систем не собственные бинари?)
(4) Что-то изменилось в видео-выводе (надо ещё виртуалку попробовать запустить с виндою).

mriadus
()

Линуксовый флеш - тормозннее виндового? Чё делать? 2 GHZ, single core -> тормоза на YouTube HD. Все браузеры. Флеш 10.0.42.34.

1. Мы тут уже заводили топик про виртуализацию. Я думал, запустить винду под линуксом с использованием аппаратной VT, и в ней ютуб смотреть. А чуваки сказали, что, может быть, ощущаемые мною тормоза растут не из кода плеера, а из вывода плеером картинки, т.е. проблемный у меня вывод картинки. И запущенный под виртуальной виндой виндовый флеш-плеер также упрётся в мои проблемы вывода картинки, ибо сее не поменяется - всё будет под теми же иксами и т.п.

2. Но у меня крутится OpenGL (драйвер fgrlx, видеокарта ATI X300 кажется (кажыццо)): gogleearch и glxgears, также работает XV в иксах.

3. Тестирование делается так. Берётся тяжёлый ютуборолик - любой из этих: http://www.youtube.com/results?search_query=panasonic+gf1&high_definition=1&s...

Качается в виде 720p файла на комп. Воспроизводится без тормозов, сжирая процентов 80 (Pentium M 760, 2GHZ, 533 fsb).

На ютубостранице такой будет воспроизводиться с мелкими лагами и сжирая проц под завязку. От броузера не зависит - опера, файрфокс, хромиум-бин. Версия флеш-плеера: 10.0.42.34. Версии броузеров пофигу - во всех одно и то же и во всех их версиях, которые были. От версии флеша, кстати, тоже не зависит - пробовал несколько.

Скажите речь на данную тему. Спасибо.

mriadus
()

C++, 2-й вопрос.

Почему для ClassName* p = new ClassName(); рекомендуется вызывать «delete p;», а для «char *p = new char[1200];» рекомендуется вызывать «delete[] p;» ?

Я не понимаю потому, что рассуждаю, что в обоих случаях был выделен просто некий кусок «кучи». После первого new, правда, вызвался конструктор. Но ведь по сути, с точки зрения управления памятию, это просто два куска сплошного адресного пространства? Информация о них - адрес начала, размер. Почему разные операторы delete?

Я вас всех люблю, драгоценные мои.

mriadus
()

C++, 1 вопрос.

Есть класс Zuzuzu, у него есть метод pop(). Создаю объект: Zuzuzu z ( ); Типа, явное использование конструктора ( ). При попытке написать z.pop(), компилятор говорит: " error: request for member 'pop' in 'z', which is of non-class type 'Zuzuzu ()()'. Что за тип 'Zuzuzu ()()'? Что это за две пары скобок?

mriadus
()

Попросили поучавствовать в проведении лекции для PHP программеров, рассказывающей о C++. Ещё в зале будут не шарящие в программировании вообще.

Есть фирма, делающая большой продукт. Часть на PHP (интерфейсы с пользователем и т.п.), часть на C++ (обработка данных, всякие демоны). Я в последней части. Есть пара человек, не знакомых с программированием вообще (дизайнеры, верстальщики).

Было решено устроить несколько интерактивных лекций, который бы дали той паре человек представление о программировании вообще, наверное на PHP, и потом дали бы PHP-программистам представление о C++ - не научить их С++, а показать, что в нём такого есть, что нас не устроил PHP для построения в памяти много-гигабайтных структур данных и для написания всех наших демонов.

Поэтому, напишите, о каких ключевых отличиях между PHP с С++ нужно сказать.

Важно: лекция не будет абстрактной, мы не будем начинать со структур данных, классов и т.п. Мы будем всё привязывать к реальному миру. Мы будем говорить о том, как простой текстовый файл с программой может что-то делать полезное. Как он видит входные данные, как выдаёт. Будет сначала очень много базовых вещей. А разницу между C++ и PHP никто не будет объяснять сложно. Скорее всего очень образно, на метафорах и т.п.

Сразу несколько моментов:

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

2. Нельзя говорить о том, что PHP - интерпретирумый или байт-кодовый, т.к. возможна компиляция PHP хоть в CGI-бинарь. Но конечно то, что обычно PHP выполняется интерпретатором, а C++ порождаёт хрень, которая работает прямо в железе - это надо будет сказать.


ВАЖНО: просьба ко всем в этом топике не писать очень высокоуровневых объяснений, теорий и т.п. Всё желательно на примерах, сохраняя связь с реальным миром, пользуясь образами из не-программистской жизни.

Спасибо.

НЕ ХОЛИВАРИТЬ просить не могу, т.к. желающие всё равно холиварнут свой холиварчик.

mriadus
()

Посоветуйте путь познания программирования модулей для NGINX. Найденные мануалы скупы, справочников по API функциям не нашёл ваще.

Сабж.
Спасибо.

mriadus
()

(nc -v -u -l -p 33223) - Слушать UDP 33223. После приёма впадает в анабиоз.

Запускаем сервер:
nc -v -u -l -p 33223

Посылаем ему привет:
echo -e «Hi!\n» | nc -u 127.0.0.1 33223

Сервер печатает «Hi», клиент завершается, но сервер не завершается. Новые выполнения второй команды не заставляют его печатать «Hi!». Клиент ничего не говорит - просто завершение, как в первый раз.

Скажите по данному поводу речь. Спасибо.

mriadus
()

Не понимаю, почему модуль NGINX падает. Исходник.

Падает в строке 109 - при попытке достать конфу свою локальную. Признак падения - ничего не пишется в файл, а nginx на запрос молчит.

     1	#include <ngx_config.h>
     2	#include <ngx_core.h>
     3	#include <ngx_http.h>
       
       
     4	struct zzzxxx_stuff
     5	{
     6	    int sd;
     7	    struct sockaddr_in  server;
     8	};
       
       
     9	typedef struct
    10	{
    11	    ngx_str_t   testhost;
    12	    ngx_str_t   multiply;
    13	    ngx_flag_t  enable;
    14	    struct zzzxxx_stuff*    stuff;
       
    15	} ngx_http_zzzxxx_loc_conf_t;
       
       
    16	typedef struct
    17	{
    18	    ngx_http_upstream_conf_t       upstream;
       
    19	} xxxxngx_http_zzzxxx_loc_conf_t;
       
       
       
       
    20	static ngx_int_t ngx_http_zzzxxx_module_init ( ngx_conf_t *cf );
    21	static void* ngx_http_zzzxxx_create_loc_conf ( ngx_conf_t *cf );
    22	static char* ngx_http_zzzxxx_merge_loc_conf (ngx_conf_t *cf, void *parent, void *child);
    23	static ngx_int_t ngx_http_zzzxxx_module_handler ( ngx_http_request_t *r);
       
       
       
    24	static ngx_command_t  ngx_http_zzzxxx_commands[] =
    25	{
    26	    {
    27	        ngx_string("zzzxxxmultiply"),
    28	        NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF| NGX_CONF_TAKE1,
    29	        ngx_conf_set_str_slot,
    30	        NGX_HTTP_LOC_CONF_OFFSET,
    31	        offsetof(ngx_http_zzzxxx_loc_conf_t, multiply),
    32	        NULL
    33	    },
    34	    {
    35	        ngx_string("zzzxxxtesthost"),
    36	        NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF| NGX_CONF_TAKE1,
    37	        ngx_conf_set_str_slot,
    38	        NGX_HTTP_LOC_CONF_OFFSET,
    39	        offsetof(ngx_http_zzzxxx_loc_conf_t, testhost),
    40	        NULL
    41	    },
       
    42	    ngx_null_command
    43	};
       
       
       
    44	static ngx_http_module_t  ngx_http_zzzxxx_module_ctx =
    45	{
    46	    NULL,                                  /* preconfiguration */
    47	    ngx_http_zzzxxx_module_init,       /* postconfiguration */
    48	    NULL,                                  /* create main configuration */
    49	    NULL,                                  /* init main configuration */
    50	    NULL,                                  /* create server configuration */
    51	    NULL,                                  /* merge server configuration */
    52	    ngx_http_zzzxxx_create_loc_conf,   /* create location configuration */
    53	    ngx_http_zzzxxx_merge_loc_conf     /* merge location configuration */
    54	};
       
       
       
    55	ngx_module_t  ngx_http_zzzxxx_module = 
    56	{
    57	    NGX_MODULE_V1,
    58	    &ngx_http_zzzxxx_module_ctx,             /* module context */
    59	    ngx_http_zzzxxx_commands,                /* module directives */
    60	    NGX_HTTP_MODULE,                       /* module type */
    61	    NULL,                                  /* init master */
    62	    NULL,                                  /* init module */
    63	    NULL,                                  /* init process */
    64	    NULL,                                  /* init thread */
    65	    NULL,                                  /* exit thread */
    66	    NULL,                                  /* exit process */
    67	    NULL,                                  /* exit master */
    68	    NGX_MODULE_V1_PADDING
    69	};
       
       
       
    70	static ngx_int_t ngx_http_zzzxxx_module_init ( ngx_conf_t *cf )
    71	{
    72	    ngx_http_zzzxxx_loc_conf_t* c;
    73	    c = ngx_http_conf_get_module_loc_conf ( cf, ngx_http_zzzxxx_module );
       
    74	    ngx_http_handler_pt        *h;
    75	    ngx_http_core_main_conf_t  *cmcf;
    76	    cmcf = ngx_http_conf_get_module_main_conf ( cf, ngx_http_core_module );
       
    77	    h = ngx_array_push(&cmcf->phases[NGX_HTTP_CONTENT_PHASE].handlers);
    78	    if (h == NULL) {
    79	        return NGX_ERROR;
    80	    }
       
    81	    *h = ngx_http_zzzxxx_module_handler;
       
    82	    return NGX_OK;
    83	}
       
       
       
    84	static void* ngx_http_zzzxxx_create_loc_conf ( ngx_conf_t *cf )
    85	{
    86	    ngx_http_zzzxxx_loc_conf_t* conf;
    87	    conf = ngx_pcalloc ( cf -> pool, sizeof ( ngx_http_zzzxxx_loc_conf_t ) );
    88	    if ( NULL == conf )
    89	        return NGX_CONF_ERROR;
       
    90	    return conf;
    91	}
       
       
       
    92	static char* ngx_http_zzzxxx_merge_loc_conf (ngx_conf_t *cf, void *parent, void *child)
    93	{
    94	    ngx_http_zzzxxx_loc_conf_t* conf = child;
    95	    ngx_http_zzzxxx_loc_conf_t* prev = parent;
       
    96	    ngx_conf_merge_str_value(conf->testhost, prev->testhost, "[TeSt HoSt]");
    97	    ngx_conf_merge_str_value(conf->multiply, prev->multiply, "[MulTiPly]");
       
    98	    return NGX_CONF_OK;
    99	}
       
       
       
   100	static ngx_int_t ngx_http_zzzxxx_module_handler ( ngx_http_request_t *r )
   101	{
       
   102	    int fd = open ( "/tmp/zzzxxx.txt", O_CREAT | O_RDWR | O_APPEND, S_IRUSR | S_IWUSR );
   103	    int res = 0;
   104	    if ( fd < 0 )
   105	    {
   106	        return NGX_DECLINED;
   107	    }
       
       
   108	    ngx_http_zzzxxx_loc_conf_t* c = NULL;
       
   109	    c = ngx_http_conf_get_module_loc_conf ( r, ngx_http_zzzxxx_module ); // CRASH
       
   110	    if ( NULL == c )
   111	    {
   112	        res = write ( fd, "xxx", 3 );
   113	    }
   114	    else
   115	    {
   116	        res = write ( fd, r -> uri.data , r -> uri.len );
   117	        res = write ( fd, " ::: ", 5 );
   118	        res = write ( fd, "\n", 1 );
       
   119	        if ( 0 == res )
   120	            { }
   121	    }
       
   122	    close ( fd );
       
   123	    return NGX_DECLINED;
   124	}
mriadus
()

Вы умные, всё должны знать... Вопросы...

mriadus
()

Виртуализация, вопросы, o VirtualBox, o IntelVT и др.

(*упоминающиеся в посте измеритель загрузки проца - встроенный в icewm).

1. Пишут (http://tombuntu.com/index.php/2007/10/01/should-you-enable-intels-vt-x-in-vir...), что не везде intel VT даёт преймущества в скорости работы гостевой OS. Я только на это и рассчитывал при апргейде с Intel Pentium M Dothan 2.0 ghz -> Intel Core 2 Duo 1.8 ghz...

Есть два момента, о которых «поговаривают»: - что хорошая виртуализация отжирает процента четыре от производительности проца. - что аппаратный intel VT не обязательно круче в этом плане софтварным вещам VirtualBox.

Мне бабка у подьезда сказала, что Adobe Flash для linux гораздо тормознее, чем для Windows. Т.е. вот этот бинарь, который мы ставим себе «в систему», он для linux сделан тупее, чем под windows. Запускаем VirtualBox под linux, в нём windows и открываем там ютуб в опере или файрфоксе. Индикатор проца говорит о гораздо большем использовании CPU, причём в режиме «проведения времени в ядре», а не просто вычислительных... Хотя, да, VirtualBox-у есть что делать в ядре (модули):

vboxdrv                53144  1 
vmmon                  59960  0 
vmnet                  36840  0 
vmblock                15056  0 
vsock                  18596  0 
vmci                   47144  1 vsock

Ну, на глаз, воспроизведение этого http://www.youtube.com/watch?v=gxiBjAf_Awk в host-linux-системе жрёт процентов 20-30, без особых обращений я вдро. В guest windows at VirtualBox - 100%, причём 70% в ядре, и ещё всё тормозит.

Ок. Тест «на глаз» с флешом - фиг с ним. Простая прокрутка страницы в opera или firefox в винде под VirtualBox ест слишком много проца по процометру - тоже все 100%.

Если в том, что мне бабки сказали и в статьях идёт речь о том, что VirtualBox соперничает по «скорости» c Intel VT, то может это я с ручника не снял VirtualBox прежде чем ехать? Что покрутить? Нет, памяти винде выделено достаточно, HDD никто не мучает. Да вообще я о вычислительных штуках говорил - воспроизведение youtube's flash, прокрутка страницы.

mriadus
()

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