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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.