[Armadillo:02273] Re: 無線LAN(USBドングル)使用時のIPドレス取得

nakai email@hidden
2007年 10月 22日 (月) 18:57:53 JST


nakaiです。

IPアドレスは取得できるみたいです。
デバッグしてみたらどうでしょう?

一応、サンプルコード貼っておきます。

#include<stdio.h>
#include<string.h>
#include<sys/socket.h>
#include<sys/ioctl.h>
#include<net/if.h>
#include<netdb.h>
#include<arpa/inet.h>

#define DEVICE_NAME "rausb0"

int main(void){
  int Socket_FD=0;
  struct sockaddr_in* SocketInfo;
  struct ifreq Request;
  struct in_addr Addr;
  char *IPAddress;

  memset(&Request,0,sizeof(Request));
  memset(&Addr,0,sizeof(Addr));

  Socket_FD=socket(AF_INET,SOCK_DGRAM,0);
  strcpy(Request.ifr_name,DEVICE_NAME);

  if(ioctl(Socket_FD,SIOCGIFADDR,&Request)<0){
    perror("ioctl");
    return -1;
  }

  SocketInfo=(struct sockaddr_in*)&Request.ifr_addr;
  printf("%08x\n",SocketInfo->sin_addr.s_addr);

  Addr.s_addr=SocketInfo->sin_addr.s_addr;

  IPAddress=inet_ntoa(Addr);
  printf("%s\n",IPAddress);

  return 0;
}
 

> -----Original Message-----
> From: email@hidden 
> [mailto:email@hidden] On Behalf 
> Of Okazaki
> Sent: Wednesday, October 17, 2007 6:53 PM
> To: 'Armadillo series general discussion list'
> Subject: [Armadillo:02259] 無線LAN(USBドングル)使用時のIPドレス取得
> 
> お世話になります
> 
> IBSJapan 岡崎と申します
> 今まで、Planex社 GW-US54Mini (ZD1211搭載) を使用して問題なかったのですが製造
> 中止ということで
> GW-US54Mini2W変更しました、ドライバー(rt73.ko)などは、問題なく動作して、接
> 続も問題ないのですが
> 自IPアドレスの取得が出来ずに悩んでいます。
> プログラム的には、IPアドレス取得のところでデバイス名を変更しただけなのですが
> 何か考えられることはありますか?
> 
> IPアドレス取得のルーチンは以下の通りです
> void GetIpAddress(){
>         int fd;
>         struct ifreq ifr;
>         char lan[10];
> //	sprintf(lan,"wlan0");
>     sprintf(lan,"rausb0");
>         fd = socket(AF_INET, SOCK_DGRAM, 0);
>         ifr.ifr_addr.sa_family = AF_INET;
>         strncpy(ifr.ifr_name,lan, IFNAMSIZ-1);
>         ioctl(fd, SIOCGIFADDR, &ifr);
>         close(fd);
>         printf("%s", inet_ntoa(((struct sockaddr_in
> *)&ifr.ifr_addr)->sin_addr));
> }
> ifconfig及びiwconfigの結果は以下のようになっています
> [email@hidden (ttyAM0) /etc/config]# ifconfig
> lo        Link encap:Local Loopback
>           inet addr:127.0.0.1  Mask:255.0.0.0
>           inet6 addr: ::1/128 Scope:Host
>           UP LOOPBACK RUNNING  MTU:16436  Metric:1
>           RX packets:10 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:0
>           RX bytes:880 (880.0 B)  TX bytes:880 (880.0 B)
> 
> rausb0    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
>           inet addr:192.168.127.xxx  Bcast:192.168.127.255
> Mask:255.255.255.0
>           inet6 addr: fe80::290:ccff:fee2:907d/64 Scope:Link
>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>           RX packets:30685 errors:0 dropped:82 overruns:82 frame:82
>           TX packets:2676 errors:0 dropped:9 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:4919278 (4.6 MiB)  TX bytes:213012 (208.0 KiB)
> 
> [email@hidden (ttyAM0) /etc/config]# iwconfig
> eth0      no wireless extensions.
> 
> lo        no wireless extensions.
> 
> tunl0     no wireless extensions.
> 
> sit0      no wireless extensions.
> 
> ip6tnl0   no wireless extensions.
> 
> rausb0    RT73 WLAN  ESSID:"xxxx"
>           Mode:Managed  Frequency=2.427 GHz  Access Point: 
> xx:xx:xx:xx:xx:xx
>           Bit Rate=54 Mb/s
>           RTS thr:off   Fragment thr:off
>           Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx
>           Link Quality=92/100  Signal level:-36 dBm  Noise 
> level:-79 dBm
>           Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
>           Tx excessive retries:0  Invalid misc:0   Missed beacon:0
> 
> 無線LANの通信自体は問題なくできています。
> 
> よろしくお願いします
> 
> IBSJapan 岡崎
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo




armadillo メーリングリストの案内