Edited by littlesat, 8 May 2015 - 17:56.
merge requests for PLi's git
Re: merge requests for PLi's git #801
Re: merge requests for PLi's git #802
Re: merge requests for PLi's git #803
Posted 8 May 2015 - 18:15
And that doesn't make you think ...?So they don't completely unload the ipv6 modules, since lo0 still has ::1 assigned.
They probably do
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
That's an historically incorrect view on kernel modules.However, as long as ipv6 support is provided as kernel modules, they can still be unloaded!
If ipv6 support is mandatory to get everything working, then ipv6 should be compiled into the kernel, so it can't be disabled completely.
Just unloading the kernel module ipv6 would simply load it again when needed or refuse to unload in the first place when being in use.
Linux has a monolithic kernel and all kernel modules, albeit being seperate files, are still part of the kernel, more precisely exactly that kernel for which they were compiled.
They shouldn't be seen like Windows device drivers, that's a completely different kernel concept (microkernel).
All kernel modules built are supposed to really exist, at least when they are used and the module ipv6 is used ...
Actually it's kind of abuse to only optionally ship them or not as if they were device drivers of a micro kernel.
When you look at a normal Linux distro you will see that the kernel package also includes all kernel modules and doesn't allow uninstalling some of them.
The only reason why this is somewhat "ok" for an embedded system is the fact of scarce flash space and that the kernel config is overfilled with modules for which most users probably never get the hardware.
The fact that the system and the user are still responsible to keep all components available can be seen from the fact that uninstalling kernel-module-ipv6 is normally prevented by dependencies which you have to overrule to be allowed to make that mistake.
Would you also claim your dreambox still has to work if you delete the DVB-drivers?
They are also only modules and can be deleted ...
Edited by SpaceRat, 8 May 2015 - 18:15.
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #804
Posted 8 May 2015 - 18:27
I'm already building as you might knowI'm not at home at the moment. Perhaps you can build an e2 binary so that others can also test in the meantime. Then energy can be put into testing instead of discussing
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #805
Posted 8 May 2015 - 18:54
root@solo2 ~ # netstat -tulpen Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name ... tcp 0 0 :::8001 :::* LISTEN 560/enigma2
root@solo2 ~ # rmmod ipv6 rmmod: ERROR: Module ipv6 is in useAs I said: Removing the ipv6 module is like ripping the heart of a person and expert her to live on ...
Now forcibly moving it away ...
root@solo2 ~ # netstat -tulpen Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 576/enigma2 ... netstat: /proc/net/tcp6: No such file or directory ... netstat: /proc/net/udp6: No such file or directoryenigma2 continues to work although the system screams from pain
Whatever the additional value is, as long as it works it works.
Edited by SpaceRat, 8 May 2015 - 18:54.
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #806
Posted 8 May 2015 - 19:21
Here is how you can disable/enable ipv6 on runtime:
def configure_ipv6(value): import glob ipv6conf = glob.glob("/proc/sys/net/ipv6/conf/*/disable_ipv6") for conf in ipv6conf: open(conf, "w").write("%d" % value) config.os.ipv6 = ConfigYesNo(default = False) config.os.ipv6.addNotifier(configure_ipv6) # enable ipv6 configure_ipv6(0) # disable ipv6 configure_ipv6(1)
Now we need a checkbox to store enable/disable and call configure_ipv6
Edited by athoik, 8 May 2015 - 19:30.
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916
Re: merge requests for PLi's git #807
Posted 8 May 2015 - 19:45
If you have an IPv6 enabled environment, you probably do not want the box not to use it.
If you don't, there is no need to disable it.
On the other hand, it could become quite handy on a per interface level.
Some NAS even have two NICs build in and can be connected to two networks at the same time.
I know about people sharing such a NAS with their neighbour ...
If one (but not your own) or both networks are IPv6 enabled, rogue router advertisments could spread through such a NAS.
That means both networks would get router advertisments from each other, so that all our own devices get addresses from the neighbours LAN ... and vice versa.
As one probably doesn't want that, it can come in handy to disable IPv6 on that interface.
On the other hand, you can probably better achieve that right on the NAS ...
Edited by SpaceRat, 8 May 2015 - 19:46.
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #808
Posted 9 May 2015 - 08:58
1. test: Only IPv4 adress available on the box.
root@et8500:/var/volatile/tmp# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:B4:06:22:76 inet addr:192.168.0.123 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Result: E2 uses IPv4 socket:
# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 911/enigma2
Streaming works. But I see this in the log:
[eUnixDomainSocket] can't resolve /tmp/camd.socket (getaddrinfo: ai_family not supported)
2. Test: With removed IPv6 module
# lsmod Module Size Used by dvb_usb_v2 14798 0 dvb 8317749 29 modloader2 492 0 modloader 492 0 tpm 540 0
E2 uses IPv4 socket:
# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 500/enigma2
Streaming works. Now I don't see the error message in the log.
Next tests in new post
Re: merge requests for PLi's git #809
Posted 9 May 2015 - 09:18
Just did a little mistake. Error message is also shown after removing the module.
And you also see this message at the beginning of the log
+ (35) CA handler [eServerSocket] getaddrinfo: ai_family not supported
I guess getaddrinfo should only be used for AF_INETx sockets and not for Unix sockets.
Re: merge requests for PLi's git #810
Posted 9 May 2015 - 09:21
3. test: With link local IPv6 address:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:B4:06:22:76 inet addr:192.168.0.123 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::216:b4ff:fe06:2276/64 Scope:Link ...
E2 uses IPv6 socket:
# netstat -lpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 :::8001 :::* LISTEN 570/enigma2
Streaming from IPv4 client works:
# netstat -apn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 ::ffff:192.168.0.123:8001 ::ffff:192.168.0.112:35323 ESTABLISHED 570/enigma2
Re: merge requests for PLi's git #811
Re: merge requests for PLi's git #812
Posted 9 May 2015 - 09:52
Something is wrong in my network. I can only establish IPv6 connection from my Linux PC via telnet:
telnet fe80::216:b4ff:fe06:2276%eth0 8001
Result is an established IPv6 connection:
# netstat -apn Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 fe80::216:b4ff:fe06:2276:8001 fe80::6ef0:49ff:fe02:f6ba:38038 ESTABLISHED 1125/enigma2
So this seems to work. Can't test streaming.
@Littlesat: No, one bug. Pieterg uses getaddrinfo for Unix sockets which is not supported. This should be changed.
Re: merge requests for PLi's git #813
Re: merge requests for PLi's git #814
Posted 9 May 2015 - 12:02
I have adapted the patch from pieterg.
@Pieterg: I have adapted 2 procedures.
1. eServerSocket::eServerSocket(std::string path, eMainloop *ml)
I don't use getaddrinfo. I create proper addrinfo with path and pass it to startListening
2. eUnixDomainSocket::connectToPath
I wanted to do the same as in 1 in this procedure. But in eSocket::connect ::connect was executed and failed all the time with "No such file or directory". I didn't find a solution, so I reverted to old code. Perhaps you have an idea why it fails.
Attached Files
Edited by betacentauri, 9 May 2015 - 12:06.
Re: merge requests for PLi's git #815
Re: merge requests for PLi's git #816
Posted 9 May 2015 - 12:26
Yup.
@Pieterg: I mean I tried this and it don't work:
int eUnixDomainSocket::connectToPath(std::string path) { int res; struct addrinfo addr; struct sockaddr_un serv_addr; memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sun_family = AF_LOCAL; strcpy(serv_addr.sun_path, path.c_str()); memset(&addr, 0, sizeof(addr)); addr.ai_family = AF_LOCAL; addr.ai_socktype = SOCK_STREAM; addr.ai_protocol = 0; /* any */ addr.ai_flags = 0; addr.ai_addr = (struct sockaddr *) &serv_addr; addr.ai_addrlen = sizeof(serv_addr); res = connect(&addr); if (res < 0) { eDebug("[eUnixDomainSocket] can't connect to path: %s", path.c_str()); } return res; }
I always get "No such file or directory" from ::connect
Re: merge requests for PLi's git #817
Posted 9 May 2015 - 16:29
How did you disable IPv6?1. test: Only IPv4 adress available on the box.
Streaming works. But I see this in the log:
[eUnixDomainSocket] can't resolve /tmp/camd.socket (getaddrinfo: ai_family not supported)
I did this:
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1Result:
root@solo2se ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:1D:EC:00:12:34 inet addr:192.168.75.18 Bcast:192.168.75.255 Mask:255.255.255.0 ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ...eth0 has IPv4 only, lo still has its ::1
Result:
root@solo2se ~ # netstat -tulpenx | grep enigma tcp 0 0 0.0.0.0:45046 0.0.0.0:* LISTEN 9032/enigma2 tcp 0 0 :::8001 :::* LISTEN 9032/enigma2 tcp 0 0 :::80 :::* LISTEN 9032/enigma2 tcp 0 0 :::443 :::* LISTEN 9032/enigma2 unix 2 [ ACC ] STREAM LISTENING 5449 9032/enigma2 /tmp/.listen.camd.socket unix 2 [ ACC ] STREAM LISTENING 5530 9032/enigma2 /tmp/hotplug.socketAll sockets, incl. camd.socket, created fine.
Second variant:
sysctl -w net.ipv6.conf.eth0.disable_ipv6=0
but
sysctl -w net.ipv6.conf.eth0.accept_ra=0
ifconfig:
root@solo2se ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:1D:EC:00:12:34 inet addr:192.168.75.18 Bcast:192.168.75.255 Mask:255.255.255.0 inet6 addr: fe80::21d:ecff:fe00:1234/64 Scope:Link ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ...This is exactly what you get in real life if you do not have IPv6 connectivity from your provider or via a tunnel.
Result:
Identical, all sockets create fine.
The socket creation only fails if you completely disable IPv6 (That would make an IPv6 enabled Samba fail too ...) by either doing
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
and/or
removing the ipv6 module.
That means, both patches (betacentauri and pieterg) give the same result.
Edited by SpaceRat, 9 May 2015 - 16:30.
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #818
Posted 9 May 2015 - 16:38
It would be more interesting where this socket is created:
tcp 0 0 0.0.0.0:45046 0.0.0.0:* LISTEN 9032/enigma2
That means there is a second socket creation routine which is
a.) probably code duplication
b.) preventing switching to IPv6 only
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
Re: merge requests for PLi's git #819
Posted 9 May 2015 - 16:42
How did you disable IPv6?1. test: Only IPv4 adress available on the box.
Streaming works. But I see this in the log:
[eUnixDomainSocket] can't resolve /tmp/camd.socket (getaddrinfo: ai_family not supported)
I used
ifconfig eth0 del <ipv6 address>
I think OpenATV guys had the same problem. That's why they reverted the patch.
Re: merge requests for PLi's git #820
Posted 9 May 2015 - 16:59
- AzBox HD
- AzBox mini
- AzBox mini me
For the first (your) patch, captain simply added a revert for these three machines to the build-machine's meta-local.
captain just switched back to your patch (That one is still active) as pieterg's doesn't offer any added value yet and doesn't match that local revert I guess.
Instead of dealing with legacy shit, I'll now concentrate on getting the AzBox kernels to compile again so that we can add IPv6 to them.
HDMU has IPv6 on AzBox HD, so it can be done. In the end, it was even possible on DM800HD ...
2nd box: Gigablue Quad 4k 2xDVB-S2 FBC / 2xDVB-C / 1.8 TB HDD / OpenATV 6.2
testing boxes: Vu+ Duo² + AX Quadbox HD2400 + 2x Vu+ Solo² + Octagon SF4008
Sats & Pay-TV: Astra 19.2°E + Hotbird 13°E with Redlight / SCT HD / SES Astra HD- / Sky V14 / 4th empire propaganda TV
Card-Server: Raspberry Pi + IPv6-capable oscam
Router: Linksys WRT1900ACS w/ LEDE + Fritz!Box 7390
9 user(s) are reading this topic
0 members, 9 guests, 0 anonymous users