Monthly Archives: April 2010

为BCM6358交叉编译DWA-140无线网卡驱动

DB-120-WG上刷了我自己编译的OpenWRT Backfire稳定版固件。连同这固件还生成了交叉编译工具。USB 2.0的结构插优盘显然有点浪费,而且为了测试我的MANET网络,我需要更多的无线节点参与测试。 rt3070的官方驱动更新到了 2.3.0.1 版,但是那个MODULE_LICENSE的BUG还没有修正,这次交叉又出问题了~ 通过观察驱动根目录下的Makefile文件,这版的驱动已经支持BCM6358了,删掉相应的注释即可打开去BCM5358的编译支持,然后make ARCH=mips,出错! 出错信息忘了记录了,直接上解决方法吧。 打开 $RT3070/os/linux目录下的config.mk文件 转到447行,把CFLAGS改成EXTRA_CFLAGS即可 Advertisements

Posted in OpenWRT | 6 Comments

诡异的Ralink rt3070驱动

前一段时间去Ralink的官网上看RT3070无线网卡的驱动是否更新,发现了新的版本RT3070_LinuxSTA_V2.3.0.1_20100208,于是就把它拖下来,解压,编译都没有问题,但是加载驱动的时候出现了错误: [  288.654808] rt3070sta: Unknown symbol usb_alloc_urb [  288.655104] rt3070sta: Unknown symbol usb_free_urb [  288.655862] rt3070sta: Unknown symbol usb_register_driver [  288.656534] rt3070sta: Unknown symbol usb_put_dev [  288.656774] rt3070sta: Unknown symbol usb_get_dev [  288.657233] rt3070sta: Unknown symbol usb_submit_urb [  288.658285] rt3070sta: … Continue reading

Posted in 计算机与 Internet | Leave a comment

Iperf的使用

Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 功能介绍TCP 测量网络带宽 报告MSS/MTU值的大小和观测值 支持TCP窗口值通过套接字缓冲 当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接 UDP 客户端可以创建指定带宽的UDP流 测量丢包 测量延迟 支持多播 当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)在适当的地方,选项中可以使用K(kilo-)和M(mega-)。例如131072字节可以用128K代替。可以指定运行的总时间,甚至可以设置传输的数据总量。在报告中,为数据选用最合适的单位。服务器支持多重连接,而不是等待一个单线程测试。在指定时间间隔重复显示网络带宽,波动和丢包情况。服务器端可作为后台程序运行。服务器端可作为Windows 服务运行。使用典型数据流来测试链接层压缩对于可用带宽的影响。-f, –format [bkmaBKMA]$IPERF_FORMAT格式化带宽数输出。支持的格式有:‘b’ = bits/sec            ’B’ = Bytes/sec‘k’ = Kbits/sec           ’K’ = KBytes/sec‘m’ = Mbits/sec           ’M’ = MBytes/sec‘g’ = Gbits/sec           ’G’ = GBytes/sec‘a’ = adaptive bits/sec   ’A’ … Continue reading

Posted in Linux | Leave a comment

终于在Linux下找到SecureCRT的替代品了,那就是PAC !

PAC is a Perl/GTK Gnome replacement for SecureCRT/Putty/etc… It provides a GUI to configure SSH/Telnet connections: users, passwords, EXPECT regular expressions, macros, etc. You like ‘SSHMenu’? If so, you must check this tool. PAC Manager Features * Unique linux app … Continue reading

Posted in Linux | Leave a comment

IEEE 802.15.4 for Linux 详解 (WPAN设备注册和初始化)

在这章所说的设备注册和初始化是指WPAN网络设备的注册和初始化,而不是SPI总线设备的设备注册。下面这张图表示CC2420 probe函数中如何注册WPAN的过程。 下面详细讲解每个函数的作用: 1. IEEE 802.15.4_alloc_device 1: struct ieee802154_dev *ieee802154_alloc_device(size_t priv_size, 2: struct ieee802154_ops *ops) 3: { 4: struct wpan_phy *phy; 5: struct ieee802154_priv *priv; 6:  7: phy = wpan_phy_alloc(ALIGN(sizeof(*priv), NETDEV_ALIGN) + priv_size); // 给wpan_phy结构分配空间 8: if (!phy) { 9: … Continue reading

Posted in 6lowpan for linux | Leave a comment

IEEE 802.15.4 for Linux 详解 (MAC层数据结构)

IEEE802.15.4-2003 specification 1. IEEE 802.15.4的硬件地址过滤,用于侦听特定的地址 1: struct ieee802154_hw_addr_filt { 2: u16 pan_id; 3: u16 short_addr; 4: u8 ieee_addr[IEEE802154_ADDR_LEN]; 5: u8 pan_coord; 6: }; 2. IEEE 802.15.4 设备结构 1: struct ieee802154_dev { 2: /* filled by the driver */ 3: int … Continue reading

Posted in 6lowpan for linux | Leave a comment

uname -r 版本号的来历

首先,对于你说的uname -r来说,其实就是对应UTS_RELEASE,即utsname.release。这个是怎么来的呢,是来自makefile的前4行,你可以head -4 Makefile看一下。然后在Makefile的后面用KERNELVERSION和KERNELRELEASE来生成最后的字符串,放到include/generated/utsrelease.h中,作为一个宏,宏的名字叫UTS_RELEASE。最后你再看init/version.c就可以了,里面有UTS_RELEASE。其次,对于uname -a,它除了包含上面的UTS_RELEASE之外,还包含UTS_MACHINE,UTS_VERSION等,这个可以在init/version.c中看到,不过,这个生成的文件是在include/generated/compile.h,是由init/Makefile调用script/mkcompile_h来生成的。

Posted in Linux | Leave a comment