hostapd編譯
① 樹莓派 同時做無線路由器和web伺服器
當然可以,我現在就這么用
hostapd + dnsmasq + iptables實現熱點。
同時用webpy或者bottle之類寫一個web伺服器。
最麻煩是選擇wifi模塊,rtl8188cus的需要自己編譯hostapd,麻煩,最好找能用nl80211驅動的。然後就很簡單了。國外論壇上有個create_ap腳本,自己照著配置一下就好。
最重要的是,usb wifi必須要一個有源隔離的usb hub,我用的是z tek 033。
② arm-openssl交叉編譯,hostapd移植出錯,求幫助
如果有編譯錯誤消息的話,可以對照出錯行看看
③ 系統內的APK 分別是什麼意思
APK(全稱:Android application package,Android應用程序包)是Android操作系統使用的一種應用程序包文件格式,用於分發和安裝移動應用及中間件。
一個Android應用程序的代碼想要在Android設備上運行,必須先進行編譯,然後被打包成為一個被Android系統所能識別的文件才可以被運行,而這種能被Android系統識別並運行的文件格式便是「APK」。
一個APK文件內包含被編譯的代碼文件(.dex 文件),文件資源(resources), 原生資源文件(assets),證書(certificates),和清單文件(manifest file)。
APK 文件基於ZIP文件格式,它與JAR文件的構造方式相似,互聯網媒體類型是:application/vnd.android.package-archive。
(3)hostapd編譯擴展閱讀:
APK是Android application package的縮寫,即Android安裝包(apk)。APK是類似SymbianSis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣,把androidsdk編譯的工程打包成一個安裝程序文件,格式為apk。
APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是DalvikVM executes的簡稱,即Android Dalvik執行程序,並非java ME的位元組碼而是Dalvik位元組碼。
④ 樹莓派無線網卡買哪種比較好
這款用的也是rtl8188cus的晶元吧,用來上網沒問題,不用編譯驅動,但我用來搭熱點時,需要編譯對應的hostapd才可以用,不支持nl80211驅動,只能用rtl871xdrv驅動。可以看http://blog.sip2serve.com/post/48420162196/howto-setup-rtl8188cus-on-rpi-as-an-access-point 不過也算是好的選擇了。
我還試驗了一下rt5370晶元的,可以用nl80211,完全不用編譯驅動,但最後出的問題是,linux內核驅動不支持該晶元的power save功能,導致過熱死掉。。。
所以現在我也用回了rtl8188cus晶元的網卡,自己編譯hostapd,暫時沒有完美的解決方案。。。
⑤ 打包android時構建成功,編譯失敗,求幫助
編譯成功只能說明你沒犯常識型錯誤,比如說漏寫 ; 或 " 等等 組建失敗,請仔細檢查程序,看有沒函數拼寫錯誤,注意大小寫等,仔細看下!!
⑥ android怎樣通過代碼打開softap
1,bcm提供專門的wpa_supplicant,hostapd
wpa_supplicant 是開源組織提供,但是對於一些特殊的功能brcm會做些修改。
比如WAPI功能,滿足CMCC要求也是廠家自行修改
2,bcm驅動是不是只支持wext介面
應該不是,默認6.0選用WEXT,8.0使用nl80211
3,支持softap的,client,p2p的驅動是否是三個驅動,還是僅僅firmware不同?
google設計時候對於固件名字是分開的,使用三個名字。但是實際前兩個是同一個固件可以。
4,android4.0中wpa_supplciant_8對nl80211介面還沒完善,有幾個空函數,選擇nl80211介面會編譯錯誤:logo如下:
已經沒有問題了,4.0在hardware/目錄下有bcmdhd的針對私有命令的封裝,需要編譯進去
⑦ 如何在Linux中使用360隨身Wifi2
剛好今天新擼的360隨身wifi2,順手來解救一下零回答...
一開始我是在虛擬機里分配USB設備來用的,曲線救國。不過有鑒於老本奔騰雙核的發熱量跟工作效率,最終還是開始折騰linux下的使用。在貼吧看到了這個帖子:剛在linux下編譯了360wifi2的驅動,成功安裝,可以用,里邊有linux下的驅動分享。奇怪的是在Ubuntu12.04 LTS上編譯安裝成功了,在14.04上卻不行。沒看到帖子後邊有這方面的更新啊...容我再研究一下。
安裝好了之後2代隨身WiFi就可以即插即用了,不過這時它的作用跟你筆記本自帶的無線網卡沒有任何區別。
對,到這里就完成了。
那AP怎麼辦?
純linux環境可以嘗試一下hostapd/dnsmasq/iptables老三樣,不過這個方案有一個小問題:開起來的熱點似乎是AD-HOC模式的,現在的安卓機大都不認...
算了我還是去開虛擬機好了......
⑧ bcm4329怎麼在android中實現softap和p2p功能
1,是否需要bcm提供專門的wpa_supplicant,hostapd,
>> wpa_supplicant 是開源組織提供,但是對於一些特殊的功能brcm會做些修改。
比如WAPI功能,滿足CMCC要求也是廠家自行修改
2,bcm驅動是不是只支持wext介面?
應該不是,默認6.0選用WEXT,8.0使用nl80211
3,支持softap的,client,p2p的驅動是否是三個驅動,還是僅僅firmware不同?
google設計時候對於固件名字是分開的,使用三個名字。但是實際前兩個是同一個固件可以。
4,是不是android4.0中wpa_supplciant_8對nl80211介面還沒完善,有幾個空函數,選擇nl80211介面會編譯錯誤:logo如下:
已經沒有問題了,4.0在hardware/目錄下有bcmdhd的針對私有命令的封裝,需要編譯進去
⑨ 樹莓派3b支持DirectX 9.0嗎想用wine跑點游戲
Stage 1:尋找消失的指令集
對比載入新內核前後樹莓派3B上執行lscpu的輸出:
Before:Architecture: armv7l
...Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32After:Architecture: aarch64
...Flags: fp asimd evtstrm crc32
顯然,有許多指令集莫名消失。
筆者使用的aarch-linux-gnu-工具鏈:
$ aarch64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/6/lto-wrapperTarget: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-arm64-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-arm64-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-arm64-cross --with-arch-directory=aarch64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-multiarch --enable-fix-cortex-a53-843419 --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/includeThread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18)
筆者遂使用crosstool-ng製作編譯工具鏈,並驚喜地發現:
$ ls /opt/crosstool-ng/samples/aarch64-rpi3-linux-gnueabi
...
crosstool-ng-1.23.0-75-ga9f8a8e6中已添加針對樹莓派3的支持。
於是筆者開始製作工具鏈。
選中了linaro分支的gcc。
並按照與前文相似的方法編譯內核,然而沒有效果,指令集仍未被識別。
後來筆者查閱資料後發現,aarch64是一套全新的指令集,asimd代替了neon。
Stage 2:使用debootstrap製作64位組件
盡管內核工作於64位模式,但系統大多數組件仍舊處於32位模式下。
我們的目標是引入Debian 9 arm64,自然會想到使用debootstrap。
在樹莓派上,給一張SD卡分兩個區:
一個在前面,大小100M左右,使用mkfs.vfat,類型為W95 FAT32
一個佔用後面所有的空間,視/boot/cmdline.txt中rootfstype的設置選擇分區格式
- deb http://mirrors.ustc.e.cn/debian/ stretch maindeb http://mirrors.ustc.e.cn/archive.raspberrypi.org/ jessie main non-free contrib
- sudo mount -t proc proc procsudo mount -t sysfs sysfs syssudo mount -o bind /dev devsudo chroot .
- apt install hostapd wpasupplicant udhcpd screen dnsmasq sudo openssh-server firmware-brcm80211 ...
firmware-brcm80211:使系統識別樹莓派3板載網卡
hostapd,udhcpd,dnsmasq:啟動AP必備
wpasupplicant:用於連接Wifi熱點
openssh-server:SSH伺服器
sudo,screen:這兩個想必大家都聽說過吧……
- /boot/lib/moles/etc/passwd/etc/shadow/etc/sudoers/etc/hostapd/etc/default/etc/udhcpd.conf/etc/udev//etc/dnsmasq.conf
- etc...
- sudo mv /etc/ld.so.preload /etc/ld.so.preload.bak
- sudo touch /etc/ld.so.preload
- Ign:1 https://mirrors.ustc.e.cn/debian stretch InRelease
- Get:2 https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease [22.9 kB]
- Hit:2 https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease
- Get:3 https://mirrors.ustc.e.cn/debian stretch Release [113 kB]
- Hit:3 https://mirrors.ustc.e.cn/debian stretch ReleaseCan't locate Storable.pm in @INC (you may need to install the Storable mole) (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/aarch64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/aarch64-linux-gnu/perl-base) at /usr/bin/apt-show-versions line 37.
- BEGIN failed--compilation aborted at /usr/bin/apt-show-versions line 37.
- Reading package lists... Done
- N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease' doesn't support architecture 'arm64'N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository 'https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease' doesn't support architecture 'arm64'
- N: Skipping acquire of configured file 'contrib/binary-arm64/Packages' as repository 'https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease' doesn't support architecture 'arm64'N: Skipping acquire of configured file 'ui/binary-arm64/Packages' as repository 'https://mirrors.ustc.e.cn/archive.raspberrypi.org jessie InRelease' doesn't support architecture 'arm64'
- E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
- E: Sub-process returned an error code
然後開干:
sudo debootstrap --verbose --arch=arm64 stretch . https://mirrors.ustc.e.cn/debian/
編輯sources.list:
apt.conf:
APT::Default-Release "stretch";
Chroot和之前的准備工作:
視具體情況安裝軟體包。
退出Chroot環境,復制配置文件及其它核心組件,例如:
註:筆者實際上把整個(除了/etc)64位根文件系統覆蓋到了樹莓派啟動的SD卡上。
成功啟動。
但是有煩人的提示:
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
解決方案顯而易見:
如果你使用了一張新的SD卡,記得編輯/etc/fstab!
Stage 3:站穩腳跟
*執行apt-get update,提示:
筆者嘗試執行sudo apt-get install apt-show-versions,問題解決。
小結
路曼曼其修遠兮,吾將上下而求索。
目前整個系統僅僅只是能用,還有許多不完美的地方。
更新
4.11的內核可以使樹莓派工作得更好,ACT燈和VCHI將正常工作。
Git切換分支:git checkout rpi-4.11.y
⑩ rtl8188etv使用方法
WIFI Station模式
_街?1: 把WIFI適配器插入到LeMaker Guitar的USB介面.
_街?2: 下載rt2l8192cufw_TSMC.bin文件.把 rtll8192cufw_TSMC.bin移動到/lib/firmware/rtlwifi文件夾,之後重啟系統.
_⒁猓海喝綣閿玫南低呈_1601或更新的系統,這一步可以跳過(新版本的系統已經將固件裝好了)。
_街?3: 使用下面的命令去檢查是否裝載了WIFI模塊網路號,在我的LeMaker Guitar上,它顯示wlan2,不同的設備顯示是不同的.
_街?4: 編譯 /etc/network/interfaces 文件:請根據實際情況檢查 wlan(x)。
_街?5: 編輯 /etc/wpa_supplicant/wpa_supplicant.conf 文件,添加以下內容:
_街?6: 編輯/etc/group文件
_沒lemaker添加到組netdev中:
_etdev_108:lemaker
_街?7: 重啟網路
_氬慰_ttp://wiki.lemaker.org/LeMaker_Guitar:WiFi_configuration/zh-hans 配置WIFI的wpa_gui圖形界面
?
_IFI AP 模式
_街?1: 下載 udhcp
_街?2: 編譯/etc/hostapd/hostapd.conf文件
_sid是WIFI名字,wpa_passphrase是WIFI密碼.
_街?3: 配置/etc/udhcpd.conf文件
_街?4: 執行下面命令後重啟.
_舳_dhcp服務
_誦_ostapd
_衷詡觳檳愕_IFI熱線是否可以和其它設備分享.
_褂梅椒ㄗ裾丈廈嫠觥?
_TL8188etv無線網卡:150M無線USB適配器兼容IEEE 802.11n(Draft 2.0),IEEE 802.11g,IEEE 802.11b標准。它有許多優點:高達150Mbps的傳輸速率,含有一個提高無線通訊性能,穩定性,和覆蓋范圍的內置天線。RTL8188CUS支持 64/128/152位WEP加密技術和WPA/WPA2,WPA-PSK/WPA2-PSK,其它的加密技術,安全機制。QSS可以快速設置TRL8188CUS的加密功能。符合WPS標准,能容易提高無線安全加密等級。此外,這個產品含有的優先服務功能可以保證優先處理視頻,音頻,和超帶寬數據。TRL8188CUS兼容支持11g/n/b協議的相關產品。