LINUX.ORG.RU

Сообщения spiro

 

Просто Window Maker

Галерея — Скриншоты

subj.

spiro
()

Volg@Linux - международная конференция

Форум — Talks

1. Volg@Linux - международная конференция посвящённая проблемам внедрения открытого программного обеспечения в жизнь общества.

2. Volg@Linux проходит в Самарской области. В этом году на турбазе "Полиграфист" расположенной в пос. Волжский, на берегу Волги.

3. Оргвзносы состявляют 350 рублей с человека. В них входит прожвание на турбазе в течении 2-х суток и 3-х разовое питание.

4. На территории РФ проходит всего навсего одно крупномаштабное мероприятие - LinuxFest.
На данный момент, в связи с развитием Linux сообщества, необходимо конференция посвящённая именно распространению открытого программного обеспечения.
Во-первых Volg@Linux - это конференция, направленная на пользователей, а точнее на развитие сообществ пользователей так называемых Linux User Group (LUG). Во-вторых Volg@Linux - способ обменяться опытом по "популяризации" открытого программного обеспечения.

5. Volg@Linux проходит в последние выходные августа. В этом году конференция будет проходить с 29-го по 31-е августа.

spiro
()

У кого-нибудь есть описание aic7xxx(aic79xx) драйвера ?

Форум — Development

Блин, весь инет облазил и не смог ничего найти :-( Может у кого завалялось ?

spiro
()

предложение всем: Linux.Org.Ru-FAQ

Форум — Linux-org-ru

Не сделать ли нам Linux.Org.Ru-FAQ по материалам форума. А то народ совсем ленивый пошел, ленится посмотреть в соседнее сообщение и найти ответ на свой вопрос. О том чтобы пролистать несколько страниц назад или воспользоваться поисковиком вообще и речи не идет. Можно собрать самые задаваемые вопросы (pppd, wine, xkbd и прочее), поместить их на отдельную страницу и написать большими буквами: ПОИШИ СНАЧАЛА ЗДЕСЬ ОТВЕТ НА СВОЙ ВОПРОС. Как идея? Только надо выбрать координатора проекта (чур не меня), чтобы не запускать дело на самотек.

spiro
()

Кто-нибудь знает команды ioctl для e1000 ?

Форум — Development

Драйвер валяется в linux.2.4.x/drivers/net/e1000/. У меня мозгов не хватает понять что делают вызовы ioctl для этого драйвера.

spiro
()

Как узнать сколько байт пришло на /dev/ttyS0 ?

Форум — Development

Есть такая проблема, некое устройство обменивается с компом данными по RS232. Есть только три вида посылок, размерами 9, 3 и 34 байта. Необходимо определить какая пришла посылка и заполнить соответствующую структуру. Система Linux Slackware 9.0. Порт я открываю так:

int serial;
struct termios oldtio, newtio;

if ((serial = open(argv[1], O_RDWR | O_NOCTTY)) < 0)
error(1, errno, "Ошибка вызова open\n");

if ((result = tcgetattr(serial, &oldtio)) < 0)
error(1, errno, "Ошибка вызова tcgetattr\n");

bzero(&newtio, sizeof(newtio));

newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
newtio.c_iflag = IGNPAR | ICRNL;
newtio.c_oflag = 0;
newtio.c_lflag = 0;

newtio.c_cc[VTIME] = 0;
newtio.c_cc[VMIN] = 5;

tcflush(serial, TCIFLUSH);

if ((result = tcsetattr(serial, TCSANOW, &newtio)) < 0)
error(1, errno, "Ошибка вызова tcsetattr\n");

p.s.: Система как-нибудь сообщает о приходе данных на порт ?

spiro
()

Не то зомби, не то - нет ... ???

Форум — Development

Написал tcp-сервак. Для каждого подключения я делаю fork и оно варится самостоятельно. После завершения сеанса - close(socket) и exit(0). Все хорошо, все работает, только после каждого коннекта к серваку, дочерние процессы переходят в состояние Z (зомби), а после окончания работы родителя - они пропадают. Кто-нибудь может обьяснить почему так происходит и как этого избежать. Система - Slackware 9.0.

Исходники:
"tcp_serv.c" :

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<stdarg.h>
#include<string.h>
#include<errno.h>
#include<netdb.h>
#include<fcntl.h>
#include<sys/time.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include "lib/skel.h"



main(int argc, char* argv[])
{
struct sockaddr_in peer;
int peerlen = sizeof(peer);
SOCKET s;
SOCKET ns;
int pid;


s = tcp_server(NULL, argv[1]);
while(1) {
ns = accept(s, (struct sockaddr *)&peer, &peerlen);
if (!isvalidsock(ns))
error(1, errno, "Ошибка вызова accept\n");

if ((pid=fork()) == -1)
error(1, errno, "Ошибка вызова fork\n");

if (pid==0) {
/* Дочерняя часть */
if (close(s))
error(1, errno, "Ошибка вызова close\n");

send(ns, "Hello world!\n", 13, 0);

if (close(ns))
error(1, errno, "Ошибка вызова close\n");

exit(0);
}
/* Родительская часть */
if (close(ns))
error(1, errno, "Ошибка вызова close\n");
}

exit(0);
}


"skel.h" :

#in#ifndef __SKEL_H__
#define __SKEL_H__ 1

#define FALSE 0
#define TRUE 1
#define NLISTEN 5

typedef int SOCKET;

#define set_errno(e) errno = (e)
#define isvalidsock(s) ( (s) >= 0 )

void error(int status, int err, char* format, ...);
static void set_address(char* hname, char* sname, struct sockaddr_in *sap, char* protocol);
SOCKET tcp_server(char* hname, char *sname);

void error(int status, int err, char* format, ...)
{
va_list ap;
va_start(ap, format);
vfprintf(stderr, format, ap);
va_end(ap);

if (err)
fprintf(stderr, "%s (%d)\n", strerror(err), err);
if (status)
exit(status);
}


static void set_address(char* hname, char* sname, struct sockaddr_in *sap, char* protocol)
{
struct servent* sp;
struct hostent* hp;
char* endptr;
short port;

bzero(sap, sizeof(*sap));
sap -> sin_family = AF_INET;
if (hname != NULL) {
if (!inet_aton(hname, &sap -> sin_addr)) {
hp = gethostbyname(hname);
if (hp == NULL)
error(1,0,"Неизвестный хост: %s\n", hname);
sap -> sin_addr = *(struct in_addr *)hp -> h_addr;
}
}
else
sap -> sin_addr.s_addr = htonl(INADDR_ANY);
port = strtol(sname, &endptr, 0);
if (*endptr == '\0')
sap -> sin_port = htons(port);
else {
sp = getservbyname(sname, protocol);
if (sp == NULL)
error(1,0,"Неизвестный сервис %s\n", sname);
sap -> sin_port = sp -> s_port;
}
}

SOCKET tcp_server(char* hname, char *sname)
{
struct sockaddr_in local;
SOCKET s;
const int on = 1;

set_address(hname, sname, &local, "tcp");
s = socket (AF_INET, SOCK_STREAM, 0);
if (!isvalidsock(s))
error(1, errno, "Ошибка вызова socket ");

if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&on, sizeof(on)))
error(1, errno, "Ошибка вызова setsockopt ");

if (bind(s, (struct sockaddr *)&local, sizeof(local)))
error(1, errno, "Ошибка вызова bind ");

if (listen(s, NLISTEN))
error(1, errno, "Ошибка вызова listen ");

return(s);
}
#endif /* __SKEL_H__ */

spiro
()

Немного о forced umount

Форум — Development

1) Есть программа, которая создаёт на монтируемом разделе каталог, в нём некий файл, пишет в него всякую чушь и изменяет свою рабочий каталог на созданный.
2) Есть пользователь, который с помощью команды "umount -F /mnt2" размонтирует этор раздел.
3) Как я понял, в результате этого действия программе, а точнее процессу, отправляется сигнал SIGSEGV.

Вопрос: почему при размонтировании не срабатывает установленный обработчик сигнала (он отзывается только на "kill -SIGSEGV [pid]"), и что происходит с открытыми файлами(через функцию open).

Вот что я делаю:

static void sig_hndlr(int signo)
{
...
}

main()
{
struct sigaction act;

act.sa_handler=sig_hndlr;
sigfillset(&act.sa_mask);
act.sa_flags=0;
if (sigaction(SIGSEGV, &act, NULL) < 0)
exit(0);

...
}

spiro
()

Red Hat 6.2 на винт 40Gb

Форум — Linux-install

Хочу поставить сабж, но линух не может работать с таким винтом. Пробовал указывать параметр lba32 - начинает ругаться на неизвестный параметр. Кто-нибудь знает как его победить ?

spiro
()

Помогите с курсачом

Форум — Development

Есть задача: надо написать демона, который отслеживает перемещения юзера по каталам (только в консоле) и пишет пути в лог. Признаюсь честно, опыта программирования под линукс у меня почти что нет. Сам демон не проблема, проблема в определении каталога в котором находится юзер. Из досовского прошлого всплыла идея о перехвате системного вызова. Это как вообще реально сделать или нет (если реально, то как). Если нет, то буду благодарен за любые идеи.

spiro
()

Вопрос по BlackBox

Форум — Desktop

Никак не могу заставить работать горячие клавиши (типа Alt-TAB - переключение между приложениями), хотя прописано все вроде верно. Может кто знает в чем дело?

spiro
()

помогите настроить модем+сетевуха

Форум — General

Никак не могу настроить модем(ZyXEL Omni 56K Plus) для работы в инете(Netscape: "Can not connect remote host"). На компе также стоит сетевуха(3 COM EtherLink XL 10/100 PCI for Complete PC Managment NIC 3C905C-TX). Вот конфиги:

/etc/resolv.conf #МТУ nameserver 195.34.32.11 nameserver 195.34.32.10 search

/etc/ppp/ppp-start #!/bin/bash

if [ -r /var/run/ppp0.pid ]; then kill -INT 'cat /var/run/ppp0.pid' sleep 5 /sbin/route delete default fi /usr/sbin/pppd call mtu-intel

/etc/ppp/ppp-kill #!/bin/bash

if [ -r /var/run/pppO.pid ]; then kill -2 'cat /var/run/pppO.pid' route delete default fi

/etc/ppp/options -detach lock modem crtscts noauth debug persist pap-timeout 10 192.168.0.10:0.0.0.0 noipdefault defaultroute netmask 255.255.255.0 /dev/modem 57600

/etc/ppp/script-mtu TIMEOUT 5 ""ATZ OK ATM1L1 OK ATDP9W8,7213311 ABORT BUSY ABORT "NO ANSWER" ABORT "NO DIALTONE" ABORT ERROR TIMEOUT 90 CONNECT "" TIMEOUT 15 "ogin:" guest "word:" mtu PPP

/etc/ppp/peers/mtu-intel -detach lock crtscts noauth debug persist pap-timeout 10 192.168.0.10:0.0.0.0 noipdefault defaultroute netmask 255.255.255.0 connect '/usr/sbin/chat -v -f /etc/ppp/script-mtu' /dev/modem 57600

А вот логи: /var/log/messages May 28 11:10:50 server pppd[1478]: pppd 2.4.1 started by spiro, uid 500 May 28 11:10:51 server chat[1479]: timeout set to 5 seconds May 28 11:10:51 server chat[1479]: send (AT&F^M) May 28 11:10:51 server chat[1479]: expect (OK) May 28 11:10:51 server chat[1479]: AT&F^M^M May 28 11:10:51 server chat[1479]: OK May 28 11:10:51 server chat[1479]: -- got it May 28 11:10:51 server chat[1479]: send (ATM1L1^M) May 28 11:10:52 server chat[1479]: expect (OK) May 28 11:10:52 server chat[1479]: ^M May 28 11:10:52 server chat[1479]: ATM1L1^M^M May 28 11:10:52 server chat[1479]: OK May 28 11:10:52 server chat[1479]: -- got it May 28 11:10:52 server chat[1479]: send (ATDP9W8,9955555^M) May 28 11:10:52 server chat[1479]: abort on (BUSY) May 28 11:10:52 server chat[1479]: abort on (NO ANSWER) May 28 11:10:52 server chat[1479]: abort on (NO DIALTONE) May 28 11:10:52 server chat[1479]: abort on (ERROR) May 28 11:10:52 server chat[1479]: timeout set to 90 seconds May 28 11:10:52 server chat[1479]: expect (CONNECT) May 28 11:10:52 server chat[1479]: ^M May 28 11:11:50 server chat[1479]: ATDP9W8,9955555^M^M May 28 11:11:50 server chat[1479]: CONNECT May 28 11:11:50 server chat[1479]: -- got it May 28 11:11:50 server chat[1479]: send (^M) May 28 11:11:51 server chat[1479]: timeout set to 15 seconds May 28 11:11:51 server chat[1479]: expect (ogin:) May 28 11:11:51 server chat[1479]: 115200/V.34 21600/V42b^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: Welcome to MTU-Online phones:^M May 28 11:11:51 server chat[1479]: 995-5555(K56flex,V.90),995-5556(x2,V.90)^M May 28 11:11:51 server chat[1479]: Login as "guest" with password "mtu" for beginning^M May 28 11:11:51 server chat[1479]: and go to http://dialup.mtu.ru for registration^M May 28 11:11:51 server chat[1479]: Use proxy.mtu.ru with port 3128, DNS 195.34.32.11(10)^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: APAS10 line 67 ^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: User Access Verification^M May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: login: May 28 11:11:51 server chat[1479]: -- got it May 28 11:11:51 server chat[1479]: send (guest^M) May 28 11:11:51 server chat[1479]: expect (word:) May 28 11:11:51 server chat[1479]: ^M May 28 11:11:51 server chat[1479]: login:guest^M May 28 11:11:51 server chat[1479]: Password: May 28 11:11:51 server chat[1479]: -- got it May 28 11:11:51 server chat[1479]: send (mtu^M) May 28 11:11:51 server chat[1479]: expect (PPP) May 28 11:11:51 server chat[1479]: ^M May 28 11:11:52 server chat[1479]: Entering PPP May 28 11:11:52 server chat[1479]: -- got it May 28 11:11:52 server pppd[1478]: Serial connection established. May 28 11:11:52 server pppd[1478]: Using interface ppp0 May 28 11:11:52 server pppd[1478]: Connect: ppp0 <--> /dev/modem May 28 11:11:54 server pppd[1478]: not replacing existing default route to eth0 [192.168.0.254] May 28 11:11:54 server pppd[1478]: local IP address 192.168.0.10 May 28 11:11:54 server pppd[1478]: remote IP address 212.30.161.10

spiro
()

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