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协议的相关产品。