Page 1 of 2 12 LastLast
Results 1 to 15 of 25

Thread: WL-500gP WI-FI и GPS координаты

  1. #1
    Join Date
    Jun 2008
    Location
    Slavutich
    Posts
    18

    WL-500gP WI-FI и GPS координаты

    Собственно subj.

    На инострано-язычной части форума его тоже (безрезультатно) разыскивали (ncurses-dev).

    gpsd configure сообщает:
    "configure: error: I see an ncurses library but no header; you should install the development package"

    Может быть кто из разработчиков подскажет, где сие водится?

    А то Garmin 18x LVC уже приехал, а тот gpsd, что в правильном репозитории работает 10 (десять) секунд после чего перегружает роутер...

  2. #2
    Join Date
    Jun 2008
    Location
    Slavutich
    Posts
    18
    Собственно, кто ищет, тот всегда найдёт.

    Выдернул каталог include из ncurses-devel_5.6-6 от FC, залил на девайс и всё собралось. После выкидывания ненужных драйверов размер gpsd сотавил 4.5 KB.

    Всё бы хорошо, но падение с перезагрузкой через 10 sec. никто не отменил :-(

    При запуске :> gpsd -n -N -D 5 /dev/usb/tts/0 лог доходит до первого получения $GPGGA (после автоопределения параметров соединения) и всё, кирдык...

    Проверил на PC с Mandrake 10.0 в той же конфигурации gpsd и железа (Garmin 18x LVC + USB2Serial на PL2303) - всё работает.
    Отрывание ноги с PPS для "облегчения жизни" софта/девайса ничего не изменило.

    Может быть кто-то из экспертов подскажет, что я не так делаю?

  3. #3

    wl500GP + GPS кто делал?

    Кто озадачивался? Интересует функционал GPS контролера...

  4. #4
    Join Date
    Jun 2008
    Location
    Slavutich
    Posts
    18
    Я сейчас прикручиваю Garmin.

    Спрашивай, если знаю - отвечу.
    HW: ASUS WL-500gP V1, D-Link ANT24-0700C, Garmin 18x LVC, D-Link DSL-2500U/BRU/D
    FW: Oleg`s 1.9.2.7-10, D-Link UR_1.00_08062008 ISP: UkrTelecom

  5. #5

    Question Программирование, простой сервер на C - проблема.

    Чего-то никак не могу понять. Пишу простой сервер на C, для GPS loger'а, так вот нужно отсылать каждую секунду данные на ip:port (на роутер). Поставил все, что нужно для сборки софта на роутере, вот самый простой пример серверной части:
    Code:
    #include <sys/types.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <unistd.h>
    #include <stdio.h>
    
    const int PORT = (мой порт),
    	BUF_SIZE = 1024;
    const unsigned long int IP = INADDR_ANY;
    
    int main()
    {
        int sock, listener;
        struct sockaddr_in addr;
        char buf[BUF_SIZE];
        int bytes_read;
    
    	printf("Create socket-listener - ");
        listener = socket(AF_INET, SOCK_STREAM, 0);
        if(listener < 0){
            printf("FAILED\n");
            return -1;
        } 
    	else printf("OK\n");
        
        addr.sin_family = AF_INET;
        addr.sin_port = htons(PORT);
        addr.sin_addr.s_addr = htonl(IP);
    
    	printf("Bind address to socket-listener - ");
    	if(bind(listener, (struct sockaddr *)&addr, sizeof(addr)) < 0){
            printf("FAILED\n");
            close(listener);
    		return -1;
        }
    	else printf("OK\n");
    
    	printf("Listen for connections - ");
        if(listen(listener, 3) < 0){
    		printf("FAILED\n");
    		close(listener);
    		return -1;
    	}
    	else printf("OK\n");
        
        while(sock = accept(listener, NULL, NULL)){
    		printf("Got new connection\n");
            while(bytes_read = recv(sock, buf, BUF_SIZE, 0)){
    			printf(buf);
            }
    		printf("Close connection\n");
            close(sock);
        }
        return 0;
    }
    Итог клиент подключается и передаёт всё замечательно, но только из локалки (клиент написан и под Win и под Linux). (мой порт) - конечно же открыл в файрволе, пробовал даже пропись его в web морде с форвардом - увы, итог нулевой.

  6. #6
    Join Date
    May 2007
    Location
    Истра
    Posts
    1,246
    1. По поводу кода:
    а)
    Code:
    while(sock = accept(listener, NULL, NULL))
    ...
    while(bytes_read = recv(sock, buf, BUF_SIZE, 0))
    лучше заменить на
    Code:
    while((sock = accept(listener, NULL, NULL)) >= 0)
    ...
    while((bytes_read = recv(sock, buf, BUF_SIZE, 0)) > 0)
    б)
    Code:
    printf(buf);
    Лучше так не делайте. Встретится в буфере последовательность %s - и segmentation fault обеспечен. Хотите вывести на стандартный вывод - используйте fwrite(buf, 1, bytes_read, stdout).

    2. По поводу порта: покажите вывод команды iptables-save на роутере и укажите какой из портов - (ваш порт).
    Everybody stand back. I know iptables.
    Мой вариант правильного выключения роутера.

  7. #7
    Quote Originally Posted by Power View Post
    Code:
    printf(buf);
    Лучше так не делайте. Встретится в буфере последовательность %s - и segmentation fault обеспечен. Хотите вывести на стандартный вывод - используйте fwrite(buf, 1, bytes_read, stdout).
    вот так еще делается
    Code:
    printf("%s",buf)

  8. #8
    Power, theMIROn, по первому пункту спасибо переделаю, а по второму
    iptables-save
    Code:
    # Generated by iptables-save v1.3.8 on Fri Jul  3 12:08:38 2009
    *nat
    :PREROUTING ACCEPT [117532:12257770]
    :POSTROUTING ACCEPT [56586:4550325]
    :OUTPUT ACCEPT [9196:588820]
    :VSERVER - [0:0]
    -A PREROUTING -d 89.252.88.61 -j VSERVER
    -A POSTROUTING -s ! 89.252.88.61 -o ppp0 -j MASQUERADE
    -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 192.168.0.0/255.255.255.0 -o br0 -j SNAT --to-source 192.168.0.1
    -A VSERVER -p udp -m udp --dport 56354 -j DNAT --to-destination 192.168.0.202:56354
    -A VSERVER -p udp -m udp --dport 53981 -j DNAT --to-destination 192.168.0.202:53980
    -A VSERVER -p udp -m udp --dport 63622 -j DNAT --to-destination 192.168.0.10:63622
    -A VSERVER -p tcp -m tcp --dport 53981 -j DNAT --to-destination 192.168.0.202:53980
    -A VSERVER -p tcp -m tcp --dport 3724 -j DNAT --to-destination 192.168.96.1:3724
    -A VSERVER -p udp -m udp --dport 34622 -j DNAT --to-destination 192.168.0.101:34622
    -A VSERVER -p tcp -m tcp --dport 34622 -j DNAT --to-destination 192.168.0.101:34622
    -A VSERVER -p udp -m udp --dport 53980 -j DNAT --to-destination 192.168.0.10:53980
    -A VSERVER -p tcp -m tcp --dport 53980 -j DNAT --to-destination 192.168.0.10:53980-0
    COMMIT
    # Completed on Fri Jul  3 12:08:38 2009
    # Generated by iptables-save v1.3.8 on Fri Jul  3 12:08:38 2009
    *mangle
    :PREROUTING ACCEPT [106239951:74973262815]
    :INPUT ACCEPT [3019270:793834335]
    :FORWARD ACCEPT [102454009:74085898892]
    :OUTPUT ACCEPT [2438273:663905792]
    :POSTROUTING ACCEPT [105184588:74857941157]
    COMMIT
    # Completed on Fri Jul  3 12:08:38 2009
    # Generated by iptables-save v1.3.8 on Fri Jul  3 12:08:38 2009
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [24611:2058263]
    :OUTPUT ACCEPT [451386:130722435]
    :BRUTE - [0:0]
    :MACS - [0:0]
    :SECURITY - [0:0]
    :logaccept - [0:0]
    :logdrop - [0:0]
    -A INPUT -m state --state INVALID -j DROP
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i lo -m state --state NEW -j ACCEPT
    -A INPUT -i br0 -m state --state NEW -j ACCEPT
    -A INPUT -p udp -m udp --sport 67 --dport 68 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
    -A INPUT -j DROP
    -A INPUT -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
    -A FORWARD -d 192.168.0.10 -p tcp -m tcp --dport 53980 -j ACCEPT
    -A FORWARD -i br0 -o br0 -j ACCEPT
    -A FORWARD -m state --state INVALID -j DROP
    -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --clamp-mss-to-pmtu
    -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -i ! br0 -o ppp0 -j DROP
    -A FORWARD -i ! br0 -o vlan2 -j DROP
    -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
    -A FORWARD -o br0 -j DROP
    -A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
    -A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
    -A SECURITY -p udp -m limit --limit 5/sec -j RETURN
    -A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
    -A SECURITY -j DROP
    -A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
    -A logaccept -j ACCEPT
    -A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
    -A logdrop -j DROP
    COMMIT
    # Completed on Fri Jul  3 12:08:38 2009
    Порт 3724

  9. #9
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by lexen View Post
    -A VSERVER -p tcp -m tcp --dport 3724 -j DNAT --to-destination 192.168.96.1:3724
    хм. а зачем у вас проброс портов сделан? у вас серверный софт не на роутере стоит?

    если порт открыт должно быть что-то типа
    Code:
    -A INPUT -p tcp -m tcp --dport 3724 -j ACCEPT
    Last edited by sauron093; 03-07-2009 at 15:00.
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  10. #10
    Join Date
    May 2007
    Location
    Истра
    Posts
    1,246
    lexen,
    Как правильно сказал sauron093, если у вас сервер стоит на самом роутере, то port forwarding вам не поможет - порт нужно открыть в цепочке INPUT. Обычно для этого добавляют такое в post-firewall
    Code:
    iptables -P INPUT DROP
    iptables -D INPUT -j DROP
    iptables -A INPUT -p tcp -m tcp --dport 3724 --syn -j ACCEPT

    Quote Originally Posted by theMIROn View Post
    вот так еще делается
    Code:
    printf("%s",buf)
    Вообще - да, но в данном случае этот код не учитывает тот факт, что длина строки (номер первого встретившегося нулевого байта) может отличаться от заполненной длины буфера (bytes_read), причём в любую сторону.
    Everybody stand back. I know iptables.
    Мой вариант правильного выключения роутера.

  11. #11
    sauron093, Power, в web gui port forwarding пуст, есть строчка в post-firewall
    Code:
    iptables -A INPUT -p all --syn --dport 3724 -j ACCEPT
    более ничего нет

  12. #12
    Join Date
    May 2007
    Location
    Истра
    Posts
    1,246
    Quote Originally Posted by lexen View Post
    в web gui port forwarding пуст...
    Значит, UPnP балуется, выключите его от греха подальше.


    Quote Originally Posted by lexen View Post
    ...есть строчка в post-firewall
    Code:
    iptables -A INPUT -p all --syn --dport 3724 -j ACCEPT
    более ничего нет
    Эта строчка с ошибкой (и даже если бы была без ошибки, всё равно не помогла). Сделайте так, как я написал выше.

    И кстати, вы так и не уточнили: этот сервер у вас на роутере стоит? И порт нужно на роутере открыть?
    Last edited by Power; 03-07-2009 at 17:16.
    Everybody stand back. I know iptables.
    Мой вариант правильного выключения роутера.

  13. #13

    WL-500gP WI-FI и GPS координаты

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

  14. Можно.. в текстовом файле...

    Нет в нем ГПС приемника.
    Last edited by antair; 07-08-2009 at 07:00.

  15. #15
    Join Date
    Jan 2009
    Location
    Kazan, Russia
    Posts
    1,163
    Quote Originally Posted by antair View Post
    Можно.. в текстовом файле...

    Нет в нем ГПС приемника.
    Интересный вопрос... Ясное дело нет. И не надо. Он же не перемещается. Их надо как-то задать, чтобы он вещал их.
    Asus RT-AC66U, Xerox Phaser 3160B, on the shelf RT-N16 (Killed by lightning)
    WL-500gPv1 128MB, WL-500W 300MHz/128M, LCD 40x4, DIR-320 8Mb/64MB
    WL-700g 128MB, MNV25E2+ and more and more devices. provod.beeline.ru

    -------------------------------------------
    Computers. Since 1984. First one - "МИР-1"

Page 1 of 2 12 LastLast

Similar Threads

  1. How to install usb/ bluetooth GPS ?
    By darius in forum WL-500gP Pics & Specs
    Replies: 9
    Last Post: 30-03-2010, 03:01
  2. объединение asus 500gp и asus 520gc
    By shi in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 56
    Last Post: 12-04-2009, 11:17

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •