Android 藍牙,wlan調試命令

//命令行測試wlan
//加載驅動
#insmod /system/lib/modules/ath6kl/cfg80211.ko
#insmod /system/lib/modules/ath6kl/ath6kl_sdio.ko


//查看加載的情況
root@android:/ # lsmod
wlan 205174 0 - Live 0x00000000 (O)
cfg80211 202998 1 wlan, Live 0x00000000 (O)
sm_event_driver 8955 0 - Live 0x00000000
sm_event_log 7972 0 - Live 0x00000000


//看網卡設備是否生成
root@android:/ # busybox ifconfig -a                                           
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:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


//生成的網卡設備
wlan0     Link encap:Ethernet  HWaddr 02:03:7F:CE:8E:10  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7015 (6.8 KiB)  TX bytes:24 (24.0 B)




//命令行測試藍牙
1. 命令行控制藍牙開關
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
select * from secure where name="bluetooth_on"; (查看是否打開)
update secure set value=1 where name="bluetooth_on";  (這裏的value=1是打開,0是關閉)
select * from secure where name="bluetooth_on"; (確認是否更改成功)
reboot <重啓手機生效>


2. 命令行操作藍牙
Android原生包括高通QRD用的是blueZ的藍牙協議棧,有提供兩個工具:hciconfig和hcitool用於調試藍牙,開始調試前首先需要將這些工具Push到手機上:
adb remount
adb push hciconfig /system/xbin
adb push hcitool /system/xbin
adb shell
chmod -R 777 /system/xbin
要注意的是,這些工具只適用於blueZ,象MTK用的是bluetoothangel就不適用了


常用的一些命令:
hciconfig -a (查看藍牙地址,芯片狀態等等)
hcitool scan (進行藍牙搜索,並列出搜索到的設備名稱和設備地址)
hciconfig hciX piscan (開啓Inquiry Scan和Page Scan,使手機處於可被搜索和可連接狀態)
可以使用hciconfig --help以及hcitool --help來查詢其它的功能,尤其要提的是hcitool cmd這個命令,通過這個命令可以發送任何的HCI Command,大部分藍牙功能都可以通過發送HCI Command來實現,具體HCI Command格式可以查詢藍牙Spec


進入測試模式的命令:
hcitool cmd 0x06 0x0003 (Enter Test Mode)
hcitool cmd 0x03 0x0005 0x02 0x00 0x02 (Auto Accept All Connections)
hcitool cmd 0x03 0x001A 0x03 (Page Inquiry Scans)
hcitool cmd 0x03 0x0020 0x00 (Disable Authentication)
hcitool cmd 0x03 0x0022 0x00 (Disable Encryption)


Qualcomm bt test :


the follow commands to bring up bt through adb shell:


 #echo 1 > /sys/class/rfkill/rfkill0/state


#hci_qcomm_init -vvv -e


#hciattach /dev/ttyHS0 qualcomm-ibs 3000000


#hciconfig hci0 up


#hcitool scan


The follow commands are used to enter test mode.


 #bttest disable


#bttest enable


#bttest enable_dut_mode


//測試G-sensor
root@android:/sys/devices/virtual/input/input3 # ls
bandwidth
calibrate
capabilities
enable
event3
id
modalias
mode
name
phys
poll_delay
power
properties
range
subsystem
uevent
uniq
value
root@android:/sys/devices/virtual/input/input3 #  
#echo 1 > enable
#cat value 


//測試M-sensor
root@android:/sys/class/compass/akm8975 # ls
accel
asa
bdata
delay_acc
delay_mag
delay_ori
dev
enable_acc
enable_mag
enable_ori
i2c
mode
power
subsystem
uevent
root@android:/sys/class/compass/akm8975 # 
#echo 1 > enable_mag
#cat bdate


//常用的測試命令
svc命令,位置在/system/bin目錄下,用來管理電源控制,無線數據,WIFI。
[plain] view plaincopy


# svc  
    svc  
    Available commands:  
    help     Show information about the subcommands  
    power    Control the power manager  
    data     Control mobile data connectivity  
    wifi     Control the Wi-Fi manager  
        
    # svc power  
    svc power  
    Control the power manager  
    usage: svc power stayon [true|false|usb|ac]  
    Set the 'keep awake while plugged in'setting.  
    //設置屏幕的常亮,true保持常亮,false不保持,usb當插入usb時常亮,ac當插入電源時常亮  
        
    # svc data  
    svc data  
    Control mobile data connectivity  
    usage: svc data [enable|disable]  
    Turn mobile data on or off.  
    //設置移動網絡的數據是否啓用  
    svc data prefer  
    Set mobile as the preferred data network  
    //設置移動網絡的數據優先於WIFI  
        
    # svc wifi  
    svc wifi  
    Control the Wi-Fi manager  
    usage: svc wifi [enable|disable]  
    Turn Wi-Fi on or off.//設置WIFI是否啓用  
    svc wifi prefer  
    Set Wi-Fi as the preferred data network//設置WIFI優先於移動網絡的數據,一般應設置成這樣,除非你刻意使用移動網絡數據傳輸  




上面的命令都要在shell中執行,需要root。
命令詳細介紹:


svc命令
    這個腳本在/system/bin目錄下,這個命令可以用來控制電源管理,wifi開關,數據開關(就是上網流量)


svc power stayon [true|false|usb|ac] 
    這個是控制usb插入的時候屏幕是否常亮,這個有地方設置,就不多說了


svc data disable
    這個命令可以關閉數據連接,就是上網流量,大家都知道控制上網的開關很多,但是大都是通過在apn上的接入點加後綴來實現的,但是這個命令不會更改apn的任何設置,直接在底層關閉數據連接。 應該是最徹底的,而且又不影響apn的設置。這個跟apndroid有什麼區別,apndroid是在關閉上網數據的時候,已經在下載的連接可能不會被強制關閉(這個在apndroid自己的說明中也有提到)。比如你在下載一個10M的電影,下載了1M,不響下載了。用apndroid關閉連接,可能這個下載還會繼續,不會馬上停掉。但是用這個命令,絕對毫不留情的咔嚓掉。


svc data enable 
    這個是打開上網數據連接,跟上一個命令是相反的。


svc data prefer
    這個命令是控制3g數據連接比wifi優先。我們都知道,正常情況下,有wifi的時候,不會用到3g連接。但是這個命令是相反,有3g的話先用3g流量,沒有3g的時候採用wifi.我想大家不會這麼傻吧,所以這個命令沒什麼用。


svc wifi disable 
    關閉wifi 連接
svc wifi enable 
    開啓wifi連接


svc wifi prefer 
    設置wifi優先,跟5是相反的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章