Wind/U Error (248): Failed to connect to the registry on server name
Вот описание в нете как с этим бороться:
"Данная ошибка связана с тем, что запустив серверную часть эмулятора
реестра, программа пытается подключиться к ней по сети по имени
компьютера, который она берет из /etc/hostname, если в hosts не прописано соответствие имени и адреса, то компьютер не сможет пинговать
сам себя по имени и программа реестра не может подключиться тоже. Для
решения надо прописать соответствие имени и адреса в файле hosts."
У меня Gentoo, поэтому я создал /etc/hostname и прописал там
HOSTNAME="name"
А в файлу /etc/hosts:
127.0.0.1 localhost root
192.168.1.2 name.root name
Где root, прописанный в /etc/domainname
DNSDOMAIN="root"
И ничего не помогло! Что я не так сделал ???
Еще один вариант решения в нете:
"This is a result of the rpc process not running. This is required for the Windu process to start SiteMinder for Advanced Security."
Что за rpc такой ??? Для Gentoo не нашел! Вроде он для Solaris ????
Видюха Rdeon 9600
По умолчанию в конфиге стоит BusID "PCI:1:0:0"
Сейчас иксы запускаются, но ругаются на этот BusID
(II) Primary Device is: PCI 01:00:0
(WW) RADEON: No matching Device section for instance (BusID PCI:1:0:1)
found
Ставлю BusID PCI:1:0:1 иксы не грузятся...
lspci выдает
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AP [Radeon
9600]
01:00.1 Display controller: ATI Technologies Inc RV350 AP [Radeon 9600]
(Secondary)
Правильно ли прописано ???
Хотелось бы максимально ускорить работу своих процессов. Решил это
сделать за счет повышения приоритета и изменение диспетчеризации на
FIFO, чтоб мой процесс занимал процессор сколько ему надо :)
Возникли вопросы:
1. Какие еще есть методы увеличения скорости, кроме оптимизации кода (-О2(3)...), алгоритмов, использования памяти ?
2. Поднимаю приоритет при помощи setpriopity(PRIO_PROCESS,0,-10), но
поднять можно тлько от root'a, а запускать хочу от юзера. Достаточно
ли просто сменить владельца процесса на root и установить SUID ?
3. Как изменить диспетчеризацию в Linux'e ? Можно ли из процесса или
только в ядре ?
Надо сделать примерно следующее:
read D1 D2 D3 D4
gawk -v dat1="D1" -v dat2="D2" -v dat3="D3" '{ if($1 == dat1) print $2 \
if($1 == dat2) print $2 }' in_file >> out_file
В Файле in_file примерно:
AAA 123
BBB 546
DDD 908
CCC 543
......
Нужно проверить на совпадениеие D1,D2,D3 с первым полем in_file и ,
если да, то выводится второе поле in_file (123 например).
Например, D1=CCC,D2=AAA,D3=DDD, тогда в out_file:
543
123
908
Сложность в том, что в моем примере первое условие (для dat1)
выполняется, а второе - нет, т.к. $1 уже равно dat1. Вызов gawk
должен выполняться один раз.
В логе:
----------------------------------------------------------------
kernel BUG at mm/rmap.c:487!
invalid operand: 0000 [#2]
PREEMPT SMP
EIP is at page_remove_rmap+0x39/0x50
..................
<1>Fixing recursive fault but reboot is needed!
----------------------------------------------------------------
Ошибка происходит в функции page_remove_rmap в строке
BUG_ON(page_mapcount(page)).
Я так понимаю, что это связано с моей какой-то некорректной работой со страницами, скорей всего их резервированием, поэтому привожу куски кода работы с выделением памяти:
1. Отображение PCI-регистров в пространство процесса:
volatile static struct page *start_page_addr, *conf_page_addr;
phys_addr=pci_resource_start(dev, 3);
base_addr=(unsigned int*)ioremap_nocache(phys_addr, 256<<2);
conf_page_addr=virt_to_page(base_addr);
SetPageReserved(conf_page_addr);
............. Работаю
При завершении работы:
ClearPageReserved(conf_page_addr);
2. Выделение памяти для данных:
npag = (((Data_Size)<<2)/(PAGE_SIZE)) + 1;
dma_addr=(unsigned int*)pci_alloc_consistent(dev[LID],((DataSize)<<2),dma_addr_t*) &dma_buff_phys);
start_page_addr = virt_to_page(dma_addr);
for(i=0;i<npag;i++) {SetPageReserved(start_page_addr+i);}
............. Работаю
При завершении работы:
for(i=0;i<npag;i++) {ClearPageReserved(start_page_addr+i);}
pci_free_consistent((struct pci_dev *)dev, ((Data_Size)<<2),dma_addr, dma_buff_phys);
Непонятно, почему возникает ошибка. Вроде делаю все правильно, смотрел в исходниках сетевух - практически тоже самое. Подскажите, как правильно сделать (что исправить), и , если можно, привидите кусок кода работающего и ткните, где об этом почитать можно. LDD читал,
.../Documentation читал, но что-то не совсем получается. Ошибка,кстати, не постояноо выскакивает, а где-то раз на 5-10 пусков.
После установки ядра 2.6.14-r5 (вместо 2.6.14-r4) мой PCI драйвер перестал реагировать на прерывания от DMA. Причем и прерывания стали определяться по-другому
(раньше IRQ 10, сейчас IRQ 5). Что случилось ? Непонятно.
Прерывания определяю так:
pci_read_config_dword(....., &mirq)
request_irq(mirq, irq_hndl, SA_SHIRQ, ..., dev_id);
Ну и еще, что в системе изменилось - поставил ext3 вместо ext2.
Подскажите плз. имеет ли смысл использовать icc 7.0 вместо gcc.
Будет ли какой-нибудь выйгрыш в производительности ?
Процессор - pentium-4 prescott
gcc - 3.4.4
Может кто знает о сегодняшнем положении дел с сертификацией Linux в РФ для использования в промышленности и военных нужд. Сертифицирован ли сейчас ? Перспективы ? Если у кого есть ссылки на соответствующую информацию - буду премного благодарен !!!
А можно ли в меню Xdialog'a добавлять элементы меню, список которых находится в файле ? Например, в директории лежат файлы (menu1, menu2 итд) - нужно чтоб названия этих файлов были пунктами меню. Или может вместо Xdialoga чего посоветуете, чтоб из скрипта (башевского) простой (не обязательно Х) интерфейс забацать.
Необходимо подобрать дистрибутив:
1. Для работы ПК в системе с собственным железом , предназначенным для сбора и обработки данных. ОС должна принимать поток данных от внешних устройств, обрабатывать и графически отображать результат.
2. Для разработки драйверов и прикладного софта.
3. Для разработки графических приложений.
4. Для написания документации.
Может то, что я перечислил и избыточная информация, наверное это можно сделать в любом дистре, но все же (может есть нюансы).
Требования:
1. Устойчивость!!!! Надежность !!!
2. Быстродействие!! Возможность гибко менять конфигурацию системы, настройки, короче оптимизировать для максимального быстродействия (легко выкидывать все не нужное и т.д.).
3. Важный момент - поддержка. Доступность постоянных обновлений, свежие драйвера (т.к. конфигурация железа буде постоянно обновляться).
Поддержка сторонними компаниями, например как RH и FC.
Сам сейчас смотрю в сторону Red Hat Enterprise Linux WS.
Просьбы высказать соображения по всему выше перечисленному и поделиться реальным опытом. Спасибо.
Вот уже не несколько прог не могу собрать из исходников, make все ошибки выдает. Вот например хочу собрать wxwidgets. Качнул
wxX11-2.6.2.tar.bz2 сделал, ./configure - нормально, делаю make... некоторые из ошибок:
---error: ISO C++ forbids declaration of 'wxButton' with no type
---./include/wx/tbarbase.h:148: error: 'm_bmpNormal' was not declared in this scope
--- ./include/wx/gauge.h: In member function 'bool wxGaugeBase::IsVertical() const'
Ну и т.д., короче до фига их.
Как с этим бороться? Лазить по исходникам - этож время скоко надо...
Сейчас у меня - RADEON 9600, FC4, X.org 6.8, видео драйвер - radeon из дистра. Установил "ATI Proprietary Linux x86 Drivers for XFREE86 / X. Org Version 8.19.10". При загрузке Х'ов выдается ошибка - не может найти символа __glXActiveScreens и не может загрузить драйвер fglrx, хотя insmod'oм он нормально грузится. В чем может быть причина ?
Нужно создать режим asm_my-mode, чтоб подсвечивался необходимый мне синтаксис. Как можно в фале asm_my-mode.el задать необходимые мне команды и регистры, чтоб подсвечивались нужными мне цветами ???
Создаю поток: pthread_create(...) и хочу чтоб он сразу начал выполняться, для этого,как я понимаю, его приоритет должен быть выше породившего процесса. Делаю так:
pthread_attr_t attr;
..............
pthread_attr_init(&attr);
pthread_attr_setinheritsched(&attr, PTHREAD_EXPLICIT_SCHED);
pthread_attr_setschedpolicy(&attr, SCHED_RR);
sp.sched_priority = -5;
pthread_attr_setschedparam(&attr, &sp);
err = pthread_create(&tid, &attr, rcv_dma_dat, NULL);
Возвращает - EINVAL.
Если делаю:
err = pthread_create(&tid, NULL, rcv_dma_dat, NULL);
Все нормально.
А, если после создания, поставлю sleep(2), то еще поток и выполнится.
В чем дело ? поясните....
Размер страницы - 4КБайта.
Например, надо принять по DMA - 40КБайт, т.е. 10 страниц.
Выделяю память:
dma_addr = (unsigned int*)pci_alloc_consistent(dev[LID], 40000,(dma_addr_t*) &dma_buff_phys);
Резервирую страницы:
start_page_addr = virt_to_page(dma_addr);
for(i=0;i<10;i++) {
SetPageReserved(start_page_addr+i);
}
Принимаю. Все вроде нормально.
Сейчас освобождаю память:
ClearPageReserved(start_page_addr);
pci_free_consistent((struct pci_dev *)dev, 40000, dma_addr, dma_buff_phys);
Вот тут начинаются чудеса всякие: в /var/log'e лезут сообщения ошибки,
модуль не выгружается и т.д.
Короче я явно что-то не так делаю. Научите плз. как правильно выделять и освобождать память...
Укажите правильный подход в таком вопросе:
Модуль должен получить от устройства данные, и сообщить проге об этом.
Причем не хотелось бы спать в ioctl или read.
Как это сделать идеологически правильно ?
Нужно создать файл устройства на этапе загрузки и задать ему права. Делаю так: mknod -m 0660 /dev/... ...
Вот только вопрос на каком этапе загрузки (в каком файле) это сделать.
Сейчас записал в /etc/profile. При загрузке на 3-ий уровень (не граф. режим) при вхождении юзером файл не создается, а создается только при вхождении рутом. Куда бы мне прописать создание файла, чтоб он создавался до залогинивания и было бы пофигу, под кем я вхожу ???