1

I am planning to roll out several (~100) Guruplug display machines.

They come shipped with Lenny installed.

I upgraded everything to Squeeze but ever since I get socket errors on every non-root user;

Mar 26 20:31:50 localhost ntpd[1055]: ./../lib/isc/unix/ifiter_ioctl.c:348: unexpected error:
Mar 26 20:31:50 localhost ntpd[1055]: making interface scan socket: Permission denied
Mar 26 20:35:09 localhost ntpd[1055]: ntpd exiting on signal 15


yeri@gplugD ~ $ ping google.be
ping: unknown host google.be
yeri@gplugD ~ $ ping 85.12.6.171
socket: Permission denied
yeri@gplugD ~ $ ssh localhost
socket: Permission denied
ssh: connect to host localhost port 22: Permission denied
yeri@gplugD ~ $ su
Password: 
gplugD ~ # ping 85.12.6.171 -c 1
PING 85.12.6.171 (85.12.6.171) 56(84) bytes of data.
64 bytes from 85.12.6.171: icmp_req=1 ttl=58 time=37.1 ms

--- 85.12.6.171 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 37.145/37.145/37.145/0.000 ms

As this is a Guruplug Display, it doesn't run a default Debian kernel. Yet I'm unable to find additional information about this. I've done the same with a regular Guruplug in the past, and that upgraded fine without any issues.

gplugD ~ # uname -a 
Linux gplugD 2.6.29 #1 Wed Feb 16 17:59:04 IST 2011 armv5tejl GNU/Linux
gplugD ~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mmcblk0p2        3.6G  917M  2.6G  27% /
tmpfs                 252M     0  252M   0% /lib/init/rw
udev                   10M   72K   10M   1% /dev
tmpfs                 252M     0  252M   0% /dev/shm
gplugD ~ # free -m
             total       used       free     shared    buffers     cached
Mem:           503        159        344          0          8        100
-/+ buffers/cache:         49        454
Swap:            0          0          0
gplugD ~ # cat /etc/debian_version 
6.0.1

dhcp also refuses to automatically give eth0 an IP unless I run it as root. Sshd seems to work fine (I can connect to it from another machine).

On the other hand, I noticed I cannot ping localhost as root either. "lo" doesn't automatically start either.

gplugD ~ # ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
^C
--- localhost ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3005ms

However,

ifconfig lo 127.0.0.1 up

solved the "localhost" issue.

Edit: ping strace: http://pastebin.com/Dpm7i64G

Any idea why only root can access everything related to tcp/ip/networking?

2 Answers 2

4

Right, found the fix;

gplugD ~ # groupadd -g 3003 aid_inet
gplugD ~ # usermod -G aid_inet yeri

hardcoded in kernel: CONFIG_ANDROID_PARANOID_NETWORK

Edit: On Android Jelly Bean (4.1) used on the Nexus 7, I had to use the group name inet instead of aid_inet, thus:

$ groupadd -g 3004 inet   # I used 3004 instead of 3003 because 3003 was already taken by aid_inet
$ usermod -G inet <username>

Some code snippets from the Android Kernel related to this go here: http://blog.appuarium.com/2011/06/23/how-android-enforces-android-permission-internet/

0
0

I've had a look at this issue and all I can offer is that you contact the developers of the kernel to ask about known issues with the upgrade process. I would guess it's a proprietary issue that a standard Squeeze upgrade doesn't play nicely with.

Sorry I can't offer anything more.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .