Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   ttyS0 не отсылает данные (http://forum.oszone.net/showthread.php?t=106332)

boris_r_v 05-05-2008 15:41 795309

ttyS0 не отсылает данные
 
Уже моск сломал не могу понять в чем ошибка.
Есть модули которые сидят за rs232<->rs485, переходником. На ядре 2,4,27 другая машина, все нормально работает модули ловят запрос отправляют ответ, осцилоографом в линии видел характерные п-образные импульсы.
сейчас ядро 2,6,23(хотя один фиг), модули не отвечают как на штатном Uart, так и внешнем Ethernet<->rs485, переходнике (кому интересно Moxa5130). Буду рад любым мыслям

сам код который открывает и инициализирует порт
int OpenTTY (unsigned char *name) {

struct termios oldtio,newtio;
int fd;

printf ("before Open %s, fd=%d\n",name,fd);

fd = open(name, O_RDWR | O_NOCTTY | O_SYNC);

if (fd < 0) {
perror(name);
exit(-1);
}
printf ("Open %s, fd=%d\n",name,fd);

tcgetattr(fd,&oldtio);
bzero(&newtio, sizeof(newtio));

newtio.c_cflag = ( B19200 | CS8 | CSTOPB | CLOCAL | CREAD );
newtio.c_iflag = 0;
newtio.c_oflag = 0;
newtio.c_lflag = IEXTEN;

tcsetattr(fd,TCSANOW,&newtio);
tcflush(fd, TCOFLUSH);
tcflush(fd, TCIFLUSH);
tcflow(fd,TCOON);

return fd;
}

localhost mpk # stty -F /dev/ttyS0
speed 19200 baud; line = 0;
intr = ; quit = ; erase = ; kill = ; eof = ; start = ; stop = ; susp = ; rprnt = ; werase = ;
lnext = ; flush = ; min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo -echoe -echok -echoctl -echoke

localhost mpk # dmesg
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

секция ядра serial:
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set

# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_GEODE=y
CONFIG_HW_RANDOM_VIA=y
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_HPET is not set
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m

boris_r_v 05-05-2008 16:41 795349

ну и где все знающие люди????
СДУЛИСЬ???

ruslandh 05-05-2008 17:44 795400

Цитата:

fd = open(name, O_RDWR | O_NOCTTY | O_SYNC);

if (fd < 0) {
perror(name);
exit(-1);
}

Ну и что выдаёт perror ?

boris_r_v 06-05-2008 06:31 795797

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


Время: 17:33.

Время: 17:33.
© OSzone.net 2001-