在使用adb的过程中,在linux内核我已经配置好了adb的驱动,并且在buildroot配置选中了android tools-->adbd。
在把编译好的系统烧写到板子上去,企图启动adbd,提示下面的错误:
# adbd
error: Address family not supported by protocol: cannot open transport registration socketpair
然而我在网上搜索此类的问题,得到的解决方法都是关闭防火墙在重新启动就好了。
让我郁闷的是我没有防火墙,只能跑来求助~~请问各位大神有遇到这样的情况么。
离线
void init_transport_registration(void) {
int s[2];if (adb_socketpair(s)) {
fatal_errno("cannot open transport registration socketpair");
}
D("socketpair: (%d,%d)", s[0], s[1]);transport_registration_send = s[0];
transport_registration_recv = s[1];transport_registration_fde =
fdevent_create(transport_registration_recv, transport_registration_func, nullptr);
fdevent_set(transport_registration_fde, FDE_READ);
}
static __inline__ int adb_socketpair( int sv[2] )
{
int rc;rc = unix_socketpair( AF_UNIX, SOCK_STREAM, 0, sv );
if (rc < 0)
return -1;close_on_exec( sv[0] );
close_on_exec( sv[1] );
return 0;
}
跟一下这个 unix_socketpair( AF_UNIX, SOCK_STREAM, 0, sv );, 有点怀疑你的内核没有开启 AF_UNIX .
离线
可能是这个选项相关:
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
离线
可能是这个选项相关:
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
# CONFIG_XFRM_USER is not set
# CONFIG_NET_KEY is not set
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
nice啊~之前为了裁剪砍掉了net所有的东西~
只要配置上面的加上因为配置需要其他模块的IPV4和IPV6现在没有报错了。
# adbd
install_listener('tcp:5037','*sm[ 138.089612] adb_open
artsocket*')
接下来看看正常的adb能不能用起来了,保佑我~~
离线
进入抽疯状态,关闭杀毒和其他的手机关机软件还是一样,哔哔哔哔~~~
[ 876.404828] adb_open
[ 876.407415] adb_bind_config
[ 876.410635] ep_matches, wrn: endpoint already claimed, ep(0xc0436f2c, 0xc29a26c0, ep1in-bulk)
[ 878.294730] android_usb gadget: high-speed config #1: android
[ 878.341049] adb_release
[ 878.345114] adb_open
[ 878.347630] adb_bind_config
[ 878.350920] ep_matches, wrn: endpoint already claimed, ep(0xc0436f2c, 0xc29a26c0, ep1in-bulk)
[ 878.907233] android_usb gadget: high-speed config #1: android
[ 878.968664] adb_release
[ 878.972776] adb_open
[ 878.975291] adb_bind_config
[ 878.978545] ep_matches, wrn: endpoint already claimed, ep(0xc0436f2c, 0xc29a26c0, ep1in-bulk)
[ 879.490198] android_usb gadget: high-speed config #1: android
[ 879.535008] adb_release
[ 879.539066] adb_open
[ 879.541708] adb_bind_config
[ 879.544969] ep_matches, wrn: endpoint already claimed, ep(0xc0436f2c, 0xc29a26c0, ep1in-bulk)
[ 880.134987] android_usb gadget: high-speed config #1: android
[ 880.180855] adb_release
[ 880.184914] adb_open
[ 880.187431] adb_bind_config
[ 880.190651] ep_matches, wrn: endpoint already claimed, ep(0xc0436f2c, 0xc29a26c0, ep1in-bulk)
离线
这有点尴尬了
懵逼!!!
不小心切换到虚拟机的Ubuntu自动挂载失败设备,直接成功adb控制板子~
但是在win7+usb3.0的 PC 上一直都是不停open和release adb_bind.......这又是什么坑!!!
离线
晕哥 说:这有点尴尬了
懵逼!!!
不小心切换到虚拟机的Ubuntu自动挂载失败设备,直接成功adb控制板子~但是在win7+usb3.0的 PC 上一直都是不停open和release adb_bind.......这又是什么坑!!!
咦,bsp linux的adb不是本来就没有问题吗,请问你是怎么折腾的?
离线
Morgan 说:晕哥 说:这有点尴尬了
懵逼!!!
不小心切换到虚拟机的Ubuntu自动挂载失败设备,直接成功adb控制板子~但是在win7+usb3.0的 PC 上一直都是不停open和release adb_bind.......这又是什么坑!!!
咦,bsp linux的adb不是本来就没有问题吗,请问你是怎么折腾的?
搞定,PC端USB3.0的驱动问题,重新安装USB3.0总线驱动,在重新安装自己ADB的驱动就好了。
离线
晕哥 说:Morgan 说:懵逼!!!
不小心切换到虚拟机的Ubuntu自动挂载失败设备,直接成功adb控制板子~但是在win7+usb3.0的 PC 上一直都是不停open和release adb_bind.......这又是什么坑!!!
咦,bsp linux的adb不是本来就没有问题吗,请问你是怎么折腾的?
搞定,PC端USB3.0的驱动问题,重新安装USB3.0总线驱动,在重新安装自己ADB的驱动就好了。
咦,这个问题不是换一台电脑就可以判断出来的吗?
离线