注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

onefish资料库

成功要素---耐得住孤独!

 
 
 

日志

 
 

安装CubieBoard最小系统(无线网络篇)  

2013-02-17 16:17:00|  分类: 电子 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

安装CubieBoard最小系统(无线网络篇)

http://onefishum.blog.163.com/blog/static/5184730520131174170755/


定义及标准:

  1. 所有操作基于ubuntu 12.10 root用户。

  2. 所有备注用红色字体。

  3. 用户输入使用蓝色字体,未标蓝色字体命令为可忽略命令。

  4. 硬盘至少4G以上的剩余空间。

  5. TF1G以上(由于上篇文章没有安装网络模块512M免强可以,安装后将超过512M

  6. 教程制做内核版本为Linux-3.0.62+

  7. 默认路径为/root目录。

  8. {}为必填内容。需要用户根据实际情况进行填写。实际使用中无{}。请注意。


由于上一篇,主要是讲CB系统的安装,并没有安装网络模块,但在实现使用中,如果CB没有网络模块,实际意义并不大,而且为日后安装软件等带来不便。所以本文是继上篇《安装CubieBoard最小系统》后续篇,主要讲网络模块的安装。


  1. 安装网络文件

首先将原来做好的TF卡从CB中拨出,插入到PC。确保TF卡没有被当前用户mount上,ubuntu 12.10默认有设备插入会自动mount,将它退出。进入root用户执行以下操作。

为了方便,本人将openssh servervim安装进系统,非必须安装。具体也可以按你的实际情况来定制。

# mount /dev/mmcblk0p2 /mnt/2

# debootstrap --arch=armhf --variant=buildd --foreign --include=vim,openssh-server,wireless-tools,wpasupplicant,netbase,net-tools,isc-dhcp-client,usbutils,module-init-tools wheezy /mnt/2/ http://ftp.cn.debian.org/debian

I: Retrieving InRelease

………………

………………

I: Extracting zlib1g...


# chroot /mnt/2

# /debootstrap/debootstrap --second-stage

I: Installing core packages...

………………

………………

I: Base system installed successfully.

# exit


很熟吧,没错,是在重做rootfs。但和新做还是有区别的,至少你系统原来有的例如内核模块之类的,还有配置文件是不用改的,重新生,并没有把配置更改。

OK到现在为止,你的支持网格的rootfs已经做完了。现在我们把卡拨出,插到CB上。


其实我少说了一步,你意识到了吗?对就是。。。。

# umount /mnt/2

如果你是直接拨的话,现在有一个机会,让你看到少见(与windows蓝屏相比)的黑屏。你再把卡插进去!呵呵。。。一个小玩笑,重启时,休息一会儿吧。有多少人看到了黑屏,请给我留言,哈哈哈。。。。


现在我们需要把无线网卡及TTL线插上。这可能是你最后一次使用TTL线了。要珍惜喔。如果忘了怎么接线,请看http://onefishum.blog.163.com/blog/static/5184730520131151385937/

# screen /dev/ttyUSB0 115200

现在打开你CB的电源

熟悉的启动过程又出现了。


  1. 配置网络环境

注:以下操作全为在CB上的操作

登录以后查看一下网络设备

# ifconfig -a

wlan0 Link encap:Ethernet HWaddr 14:cf:92:1b:23:bc

BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)


应该能看wlanX。如果看不到,请加载你无线的驱动,或编译内核驱动。


例如:

# cd /lib/modules/3.0.62+/kernel/drivers/net/wireless/rtl8192cu/

# modprobe 8192cu


# cat <<END > /etc/network/interfaces

> auto wlan0

> iface wlan0 inet dhcp

> # 静态方式

> #iface wlan0 inet static

> #address 192.168.1.3

> #netmask 255.255.255.0

> #gateway 192.168.1.1

> wpa-essid {"you essid name"} #无线连接名称

> wpa-psk {password} #wpa2访问密码

> #如果是wep方式访问无线WEP,则最后两行改为

> #wireless-essid {you essid name}

> #wireless-key {password} #wep访问密码

> END


# reboot


终于全套打完了。重启后,你登录进系统,发现已经可以进行网络访问了。

# ifconfig wlan0

wlan0 Link encap:Ethernet HWaddr 14:cf:92:1b:23:bc

inet addr:192.168.1.114 Bcast:255.255.255.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:113 errors:0 dropped:2878 overruns:0 frame:0

TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:42414 (41.4 KiB) TX bytes:1414 (1.3 KiB)


# ping 163.com

PING 163.com (123.58.180.8) 56(84) bytes of data.

64 bytes from 123.58.180.8: icmp_req=1 ttl=55 time=38.0 ms

64 bytes from 123.58.180.8: icmp_req=2 ttl=55 time=42.6 ms


  1. 命令行连接WIFI WPA模式

上面讲的是自动连接,在一些情况下我们是需要手工进行wifi连接的,由于大部wifi出于安全考虑都是使用wpa模式进行连接的,让大家装了这么多软件,不能白装呀!所以下面我讲一下有关wpa模式的手工连接。


  1. 首先我们先关闭当前的wifi连接。

# service networking stop

[....] Deconfiguring network interfaces...Internet Systems Consortium DHCP Client 4.2.2

Copyright 2004-2011 Internet Systems Consortium.

All rights reserved.

For info, please visit https://www.isc.org/software/dhcp/


Listening on LPF/wlan0/14:cf:92:1b:23:bc

Sending on LPF/wlan0/14:cf:92:1b:23:bc

Sending on Socket/fallback

DHCPRELEASE on wlan0 to 192.168.1.1 port 67

done.

通过iwconfig看一下是否关闭了。

# iwconfig wlan0

wlan0 unassociated Nickname:"<WIFI@REALTEK>"

Mode:Managed Frequency=2.462 GHz Access Point: Not-Associated

Sensitivity:0/0

Retry:off RTS thr:off Fragment thr:off

Encryption key:off

Power Management:off

Link Quality:0 Signal level:0 Noise level:0

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0


嗯。什么都没了。


  1. 扫描一下wifi的连接。

# iwlist wlan0 scan

wlan0 Scan completed :

Cell 01 - Address: 38:83:45:9D:B2:84

ESSID:"you essid name"

Protocol:IEEE 802.11bg

Mode:Master

Frequency:2.462 GHz (Channel 11)

Encryption key:on

Bit Rates:54 Mb/s

Extra:wpa_ie=dd1a0050f20101000050f20202000050f2040050f20201000050f202

IE: WPA Version 1

Group Cipher : TKIP

Pairwise Ciphers (2) : CCMP TKIP

Authentication Suites (1) : PSK

Extra:rsn_ie=30180100000fac020200000fac04000fac020100000fac020000

IE: IEEE 802.11i/WPA2 Version 1

Group Cipher : TKIP

Pairwise Ciphers (2) : CCMP TKIP

Authentication Suites (1) : PSK

Quality=100/100 Signal level=100/100

可以看到有you essid name的连接。


  1. 建立wpa_supplicant的配置文件

# cat << EOF > /etc/wpa_supplicant.conf

> ctrl_interface=/var/run/wpa_supplicant

> update_config=1

> EOF


  1. 启动wpa_supplicant进程

# wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

ioctl[SIOCSIWAP]: Operation not permitted

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument


  1. 连接 you essid name 网络

# wpa_cli -i wlan0

wpa_cli v1.0

Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi> and contributors


This program is free software. You can distribute it and/or modify it

under the terms of the GNU General Public License version 2.


Alternatively, this software may be distributed under the terms of the

BSD license. See README and COPYING for more details.




Interactive mode


>

连接后出现提示符>

> scan #扫描

OK

<3>CTRL-EVENT-SCAN-RESULTS

<3>WPS-AP-AVAILABLE

> scan_results #显示当前的网络连接

bssid / frequency / signal level / flags / ssid

38:83:45:9d:b2:84 2462 100 [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][ESS] you essid name

f8:d1:11:e3:65:1c 2427 43 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] Wudong

00:1d:0f:82:20:f4 2437 26 [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP-preauth][ESS] HuntersHall

> add_network #增加一个网络,并得到网络id

0

> set_network 0 ssid "you essid name" #设置网络id0的无线连接

OK

> set_network 0 psk "password" #设置网络id0的密码

OK

> enable_network 0 #激活网络id0

OK

<3>CTRL-EVENT-SCAN-RESULTS

<3>WPS-AP-AVAILABLE

<3>Trying to associate with 38:83:45:9d:b2:84 (SSID='you essid name' freq=2462 MHz)

<3>Association request to the driver failed

<3>Associated with 38:83:45:9d:b2:84

<3>WPA: Key negotiation completed with 38:83:45:9d:b2:84 [PTK=CCMP GTK=TKIP]

<3>CTRL-EVENT-CONNECTED - Connection to 38:83:45:9d:b2:84 completed (auth) [id=0 id_str=]

> save #保存配置

OK

> status #查看状态

bssid=38:83:45:9d:b2:84

ssid=you essid name

id=0

mode=station

pairwise_cipher=CCMP

group_cipher=TKIP

key_mgmt=WPA2-PSK

wpa_state=COMPLETED

address=14:cf:92:1b:23:bc

> quit #退出


目前网络已经连接上了。但发现没有,没有IP地址。怎么办呢?

# ifconfig wlan0

wlan0 Link encap:Ethernet HWaddr 14:cf:92:1b:23:bc

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:477 errors:0 dropped:18573 overruns:0 frame:0

TX packets:7 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:280673 (274.0 KiB) TX bytes:4265 (4.1 KiB)


  1. 使用DHCP分配一个

# dhclient wlan0


# ifconfig wlan0

wlan0 Link encap:Ethernet HWaddr 14:cf:92:1b:23:bc

inet addr:192.168.1.114 Bcast:255.255.255.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:507 errors:0 dropped:19093 overruns:0 frame:0

TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:292377 (285.5 KiB) TX bytes:5005 (4.8 KiB)

看到IP地址了,说明连接成功了。


  1. 退出连接

# wpa_cli -i wlan0

wpa_cli v1.0

Copyright (c) 2004-2012, Jouni Malinen <j@w1.fi> and contributors


This program is free software. You can distribute it and/or modify it

under the terms of the GNU General Public License version 2.


Alternatively, this software may be distributed under the terms of the

BSD license. See README and COPYING for more details.




Interactive mode


> disable_network 0 #关闭网络id0

OK

<3>CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0

<3>CTRL-EVENT-SCAN-RESULTS

<3>WPS-AP-AVAILABLE

> status

wpa_state=INACTIVE

ip_address=192.168.1.114

address=14:cf:92:1b:23:bc

> terminate #结束wpa_supplicant进程

OK

> 'PING' command failed.

Connection to wpa_supplicant lost - trying to reconnect

> quit #退出


# iwconfig wlan0

wlan0 unassociated Nickname:"<WIFI@REALTEK>"

Mode:Managed Frequency=2.462 GHz Access Point: Not-Associated

Sensitivity:0/0

Retry:off RTS thr:off Fragment thr:off

Encryption key:off

Power Management:off

Link Quality:0 Signal level:0 Noise level:0

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

已经停止。


为什么刚才在设置wifi连接时要save呢?

再试试连接我的无线网络。

# wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf

ioctl[SIOCSIWAP]: Operation not permitted

ioctl[SIOCSIWENCODEEXT]: Invalid argument


root@onefish-cubieboard:/etc# iwconfig wlan0

wlan0 IEEE 802.11bg ESSID:"you essid name" Nickname:"<WIFI@REALTEK>"

Mode:Managed Frequency:2.462 GHz Access Point: 38:83:45:9D:B2:84

Bit Rate:54 Mb/s Sensitivity:0/0

Retry:off RTS thr:off Fragment thr:off

Encryption key:****-****-****-****-****-****-****-**** Security mode:open

Power Management:off

Link Quality=100/100 Signal level=100/100 Noise level=0/100

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

每次都设置是件很麻烦的事。现在好了。有了配置文件直接用。配置文件在什么地方呢?

/etc/wpa_supplicant.conf

自己打开看看,是不是多了一点东西?也省了dhclient,你可以将这条命令加到/etc/rc.local中。这样就可以不用networking方式了。


网络通了,剩下的就容易了。需要什么apt-get就行了。但别忘了设置一下源喔。


本文使用wps for linux 编辑,感谢wpslinux的支持。

并感谢淘宝店主 开心cqy http://trade.taobao.com/trade/detail/tradeSnap.htm?spm=a1z09.2.9.8.9bW9i7&tradeID=193720229754612  没他的支持,春节前是拿不到CB的。


  评论这张
 
阅读(3945)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017