Tiny Core Linux
Tiny Core Extensions => TCE Talk => Topic started by: GNUser on November 23, 2019, 07:49:40 PM
-
I'm finding that having ipv6-4.19.10-tinycore64.tcz in onboot.lst does not seem to fully enable IPv6.
This is what I see in my Pure64 10.1 laptop after connecting to an IPv6-enabled wireless router (note the absence of inet6 line):
tcl$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:26:B6:F6:04:E4
inet addr:192.168.43.221 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67 errors:0 dropped:0 overruns:0 frame:0
TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13766 (13.4 KiB) TX bytes:10891 (10.6 KiB)
While in other distros I get this:
devuan$ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.211 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::9919:79dd:137f:2dcf prefixlen 64 scopeid 0x20<link>
ether 00:26:b6:bf:39:5d txqueuelen 1000 (Ethernet)
RX packets 1048 bytes 1031550 (1007.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1015 bytes 134380 (131.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
In TCL I'm connecting with wpa_supplicant plus dhclient with these commands:
wpa_passphrase "$ssid" "$password" > $auth_file
wpa_supplicant -i $iface -c $auth_file &
dhclient -v -cf /etc/dhcp/dhclient.conf $iface
Can you please help me fully fully enable IPv6?
-
Sometimes running ip -6 addr and then running ifconfig wlan0 again makes the inet6 line magically appear (but sometimes it doesn't help). Here is a successful run:
tcl$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:26:B6:F6:04:E4
inet addr:192.168.43.221 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:67 errors:0 dropped:0 overruns:0 frame:0
TX packets:64 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13766 (13.4 KiB) TX bytes:10891 (10.6 KiB)
tcl$ ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::226:b6ff:fef6:4e4/64 scope link
valid_lft forever preferred_lft forever
7: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 100
inet6 fe80::8346:e560:d8e8:a007/64 scope link flags 800
valid_lft forever preferred_lft forever
tcl$ ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:26:B6:F6:04:E4
inet addr:192.168.43.221 Bcast:192.168.43.255 Mask:255.255.255.0
inet6 addr: fe80::226:b6ff:fef6:4e4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1864 errors:0 dropped:0 overruns:0 frame:0
TX packets:1893 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1518137 (1.4 MiB) TX bytes:458418 (447.6 KiB)
Strange. How to fully enable IPv6 right off the bat, without any shenanigans?
-
Hi GNUser
My wired connection has IPV6 without any "shenanigans".
The script I call from bootlocal to set up my Ethernet card:
tc@E310:~$ cat /opt/eth0.sh
#!/bin/sh
pkill udhcpc
ifconfig eth0 192.168.1.35 netmask 255.255.255.0 broadcast 192.168.1.255 up
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 > /etc/resolv.conf
echo nameserver 68.237.161.12 >> /etc/resolv.conf
tc@E310:~$
Output of ifconfig:
tc@E310:~$ ifconfig -a
dummy0 Link encap:Ethernet HWaddr 1A:CB:44:DB:0D:33
BROADCAST NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 00:13:20:C4:4A:20
inet addr:192.168.1.35 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::213:20ff:fec4:4a20/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1043725 errors:0 dropped:0 overruns:0 frame:0
TX packets:200444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:436979117 (416.7 MiB) TX bytes:13560226 (12.9 MiB)
ip_vti0 Link encap:UNSPEC HWaddr 00-00-00-00-30-30-30-30-00-00-00-00-00-00-00-00
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:25427 errors:0 dropped:0 overruns:0 frame:0
TX packets:25427 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17625665 (16.8 MiB) TX bytes:17625665 (16.8 MiB)
tunl0 Link encap:UNSPEC HWaddr 00-00-00-00-30-30-30-30-00-00-00-00-00-00-00-00
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tc@E310:~$
Output of lsmod (something called ipv6 is listed):
tc@E310:~$ lsmod
Module Size Used by Not tainted
ntfs 69632 0
ipv6 241664 56 [permanent]
nfsd 159744 11
speedstep_lib 12288 0
cpufreq_userspace 12288 0
cpufreq_powersave 12288 0
cpufreq_conservative 12288 0
i915 925696 2
drm_kms_helper 86016 1 i915
i2c_i801 16384 0
drm 212992 4 i915,drm_kms_helper
fb_sys_fops 12288 1 drm_kms_helper
syscopyarea 12288 1 drm_kms_helper
sysfillrect 12288 1 drm_kms_helper
sysimgblt 12288 1 drm_kms_helper
iosf_mbi 12288 1 i915
video 28672 1 i915
intel_agp 12288 0
backlight 12288 2 i915,video
i2c_algo_bit 12288 1 i915
intel_gtt 16384 2 i915,intel_agp
agpgart 24576 3 drm,intel_agp,intel_gtt
squashfs 28672 329
zstd_decompress 53248 1 squashfs
xxhash 16384 1 zstd_decompress
pcspkr 12288 0
serio_raw 12288 0
e100 28672 0
mii 12288 1 e100
lpc_ich 20480 0
loop 20480 658
tc@E310:~$
-
Ah, just realized that dhclient defaults to IPv4. Even specifying IPv6, I'm not doing much better:
$ sudo dhclient -v -cf /etc/dhcp/dhclient.conf wlan0; sudo dhclient -6 -v -cf /etc/dhcp/dhclient.conf wlan0
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/00:26:b6:f6:04:e4
Sending on LPF/wlan0/00:26:b6:f6:04:e4
Sending on Socket/fallback
DHCPREQUEST for 192.168.10.153 on wlan0 to 255.255.255.255 port 67
DHCPNAK from 192.168.43.1
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPOFFER of 192.168.43.221 from 192.168.43.1
DHCPREQUEST for 192.168.43.221 on wlan0 to 255.255.255.255 port 67
DHCPACK of 192.168.43.221 from 192.168.43.1
bound to 192.168.43.221 -- renewal in 1549 seconds.
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
no link-local IPv6 address for wlan0
If you think you have received this message due to a bug rather
than a configuration issue please read the section on submitting
bugs on either our web page at www.isc.org or in the README file
before submitting a bug. These pages explain the proper
process and the information we find helpful for debugging.
exiting.
-
Thank you, Rich. Interesting that you get an IPv6 address without explicitly asking for one.
In output of lsmod I also see "ipv6":
$ lsmod
Module Size Used by Tainted: G
ipv6 270336 24 [permanent]
ccm 16384 9
cpufreq_userspace 12288 0
cpufreq_powersave 12288 0
cpufreq_conservative 12288 0
i915 1003520 8
snd_hda_codec_hdmi 32768 1
ath9k 73728 0
mac80211 262144 1 ath9k
snd_hda_codec_conexant 16384 1
snd_hda_codec_generic 45056 1 snd_hda_codec_conexant
snd_hda_intel 24576 0
drm_kms_helper 94208 1 i915
snd_hda_codec 61440 4 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel
ath9k_common 12288 1 ath9k
ath9k_hw 372736 2 ath9k,ath9k_common
snd_hda_core 36864 5 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec
drm 253952 7 i915,drm_kms_helper
snd_hwdep 12288 1 snd_hda_codec
snd_pcm 57344 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
ath 28672 3 ath9k,ath9k_common,ath9k_hw
snd_timer 20480 1 snd_pcm
snd 45056 8 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
i2c_i801 16384 0
cfg80211 192512 4 ath9k,mac80211,ath9k_common,ath
intel_agp 16384 0
soundcore 12288 1 snd
iosf_mbi 12288 1 i915
intel_gtt 16384 2 i915,intel_agp
agpgart 28672 3 drm,intel_agp,intel_gtt
i2c_algo_bit 12288 1 i915
battery 16384 0
squashfs 28672 212
zstd_decompress 65536 1 squashfs
xxhash 12288 1 zstd_decompress
video 32768 1 i915
backlight 12288 2 i915,video
ac 12288 0
sdhci_pci 24576 0
cqhci 16384 1 sdhci_pci
sdhci 32768 1 sdhci_pci
lpc_ich 20480 0
e1000e 126976 0
mmc_core 73728 3 sdhci_pci,cqhci,sdhci
r592 16384 0
acpi_cpufreq 12288 1
memstick 12288 1 r592
xhci_pci 12288 0
xhci_hcd 98304 1 xhci_pci
loop 20480 424
-
Hi GNUser
If you execute:
sudo sysctl -a | less -I
you'll find there are lots of ipv6 settings. I noticed there are also dummy0, lo, eth0, etc. settings. I wouldn't be surprised if on your
hardware there are also a bunch of wlan0 settings.
-
Hi GNUser
Here are the settings for my wired connection:
tc@E310:~$ sudo sysctl -a | grep -i ipv6 | grep -i eth0
error: permission denied on key 'net.ipv4.route.flush'
error: "Input/output error" reading key "net.ipv6.conf.all.stable_secret"
error: "Input/output error" reading key "net.ipv6.conf.default.stable_secret"
error: "Input/output error" reading key "net.ipv6.conf.dummy0.stable_secret"
error: "Input/output error" reading key "net.ipv6.conf.eth0.stable_secret"
net.ipv6.conf.eth0.accept_dad = 1
net.ipv6.conf.eth0.accept_ra = 1
error: "Input/output error" reading key "net.ipv6.conf.ip_vti0.stable_secret"
net.ipv6.conf.eth0.accept_ra_defrtr = 1
net.ipv6.conf.eth0.accept_ra_from_local = 0
net.ipv6.conf.eth0.accept_ra_min_hop_limit = 1
net.ipv6.conf.eth0.accept_ra_mtu = 1
net.ipv6.conf.eth0.accept_ra_pinfo = 1
net.ipv6.conf.eth0.accept_ra_rtr_pref = 1
net.ipv6.conf.eth0.accept_redirects = 1
net.ipv6.conf.eth0.accept_source_route = 0
net.ipv6.conf.eth0.addr_gen_mode = 0
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.dad_transmits = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_policy = 0
net.ipv6.conf.eth0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.eth0.drop_unsolicited_na = 0
net.ipv6.conf.eth0.enhanced_dad = 1
net.ipv6.conf.eth0.force_mld_version = 0
net.ipv6.conf.eth0.force_tllao = 0
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.hop_limit = 64
net.ipv6.conf.eth0.ignore_routes_with_linkdown = 0
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.eth0.max_addresses = 16
error: "Input/output error" reading key "net.ipv6.conf.lo.stable_secret"
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.eth0.mldv1_unsolicited_report_interval = 10001
net.ipv6.conf.eth0.mldv2_unsolicited_report_interval = 1001
net.ipv6.conf.eth0.mtu = 1500
net.ipv6.conf.eth0.ndisc_notify = 0
net.ipv6.conf.eth0.ndisc_tclass = 0
net.ipv6.conf.eth0.proxy_ndp = 0
net.ipv6.conf.eth0.regen_max_retry = 3
net.ipv6.conf.eth0.router_probe_interval = 60
net.ipv6.conf.eth0.router_solicitation_delay = 1
net.ipv6.conf.eth0.router_solicitation_interval = 4
net.ipv6.conf.eth0.router_solicitation_max_interval = 3600
net.ipv6.conf.eth0.router_solicitations = -1
net.ipv6.conf.eth0.seg6_enabled = 0
net.ipv6.conf.eth0.seg6_require_hmac = 0
net.ipv6.conf.eth0.suppress_frag_ndisc = 1
net.ipv6.conf.eth0.temp_prefered_lft = 86400
net.ipv6.conf.eth0.temp_valid_lft = 604800
net.ipv6.conf.eth0.use_oif_addrs_only = 0
net.ipv6.conf.eth0.use_tempaddr = 0
error: "Input/output error" reading key "net.ipv6.conf.tunl0.stable_secret"
net.ipv6.neigh.eth0.anycast_delay = 99
net.ipv6.neigh.eth0.app_solicit = 0
net.ipv6.neigh.eth0.base_reachable_time = 30
net.ipv6.neigh.eth0.base_reachable_time_ms = 30001
net.ipv6.neigh.eth0.delay_first_probe_time = 5
net.ipv6.neigh.eth0.gc_stale_time = 60
net.ipv6.neigh.eth0.locktime = 0
net.ipv6.neigh.eth0.mcast_resolicit = 0
net.ipv6.neigh.eth0.mcast_solicit = 3
net.ipv6.neigh.eth0.proxy_delay = 79
net.ipv6.neigh.eth0.proxy_qlen = 64
net.ipv6.neigh.eth0.retrans_time = 300
net.ipv6.neigh.eth0.retrans_time_ms = 1001
net.ipv6.neigh.eth0.ucast_solicit = 3
net.ipv6.neigh.eth0.unres_qlen = 86
net.ipv6.neigh.eth0.unres_qlen_bytes = 163840
error: permission denied on key 'net.ipv6.route.flush'
error: permission denied on key 'vm.compact_memory'
error: permission denied on key 'vm.stat_refresh'
tc@E310:~$
I don't know what most of these do, but these look interesting:
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
-
Thanks again, Rich.
I've discovered something interesting: It is only a minute or more after wifi connects (with IPv4) that the IPv6 settings appear.
$ sysctl -a | grep wlan0
net.ipv4.conf.wlan0.accept_local = 0
net.ipv4.conf.wlan0.accept_redirects = 1
net.ipv4.conf.wlan0.accept_source_route = 1
net.ipv4.conf.wlan0.arp_accept = 0
net.ipv4.conf.wlan0.arp_announce = 0
net.ipv4.conf.wlan0.arp_filter = 0
net.ipv4.conf.wlan0.arp_ignore = 0
net.ipv4.conf.wlan0.arp_notify = 0
net.ipv4.conf.wlan0.bc_forwarding = 0
net.ipv4.conf.wlan0.bootp_relay = 0
net.ipv4.conf.wlan0.disable_policy = 0
net.ipv4.conf.wlan0.disable_xfrm = 0
net.ipv4.conf.wlan0.drop_gratuitous_arp = 0
net.ipv4.conf.wlan0.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.wlan0.force_igmp_version = 0
net.ipv4.conf.wlan0.forwarding = 0
net.ipv4.conf.wlan0.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.wlan0.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.wlan0.ignore_routes_with_linkdown = 0
net.ipv4.conf.wlan0.log_martians = 0
net.ipv4.conf.wlan0.mc_forwarding = 0
net.ipv4.conf.wlan0.medium_id = 0
net.ipv4.conf.wlan0.promote_secondaries = 0
net.ipv4.conf.wlan0.proxy_arp = 0
net.ipv4.conf.wlan0.proxy_arp_pvlan = 0
net.ipv4.conf.wlan0.route_localnet = 0
net.ipv4.conf.wlan0.rp_filter = 0
net.ipv4.conf.wlan0.secure_redirects = 1
net.ipv4.conf.wlan0.send_redirects = 1
net.ipv4.conf.wlan0.shared_media = 1
net.ipv4.conf.wlan0.src_valid_mark = 0
net.ipv4.conf.wlan0.tag = 0
net.ipv4.neigh.wlan0.anycast_delay = 99
net.ipv4.neigh.wlan0.app_solicit = 0
net.ipv4.neigh.wlan0.base_reachable_time = 30
net.ipv4.neigh.wlan0.base_reachable_time_ms = 30000
net.ipv4.neigh.wlan0.delay_first_probe_time = 5
net.ipv4.neigh.wlan0.gc_stale_time = 60
net.ipv4.neigh.wlan0.locktime = 99
net.ipv4.neigh.wlan0.mcast_resolicit = 0
net.ipv4.neigh.wlan0.mcast_solicit = 3
net.ipv4.neigh.wlan0.proxy_delay = 79
net.ipv4.neigh.wlan0.proxy_qlen = 64
net.ipv4.neigh.wlan0.retrans_time = 99
net.ipv4.neigh.wlan0.retrans_time_ms = 1000
net.ipv4.neigh.wlan0.ucast_solicit = 3
net.ipv4.neigh.wlan0.unres_qlen = 101
net.ipv4.neigh.wlan0.unres_qlen_bytes = 212992
$ sysctl -a | grep ipv6
$
Several seconds after wifi is connected the ipv6 settings finally decide to appear:
$ sysctl -a | grep wlan0
net.ipv4.conf.wlan0.accept_local = 0
net.ipv4.conf.wlan0.accept_redirects = 1
net.ipv4.conf.wlan0.accept_source_route = 1
net.ipv4.conf.wlan0.arp_accept = 0
net.ipv4.conf.wlan0.arp_announce = 0
net.ipv4.conf.wlan0.arp_filter = 0
net.ipv4.conf.wlan0.arp_ignore = 0
net.ipv4.conf.wlan0.arp_notify = 0
net.ipv4.conf.wlan0.bc_forwarding = 0
net.ipv4.conf.wlan0.bootp_relay = 0
net.ipv4.conf.wlan0.disable_policy = 0
net.ipv4.conf.wlan0.disable_xfrm = 0
net.ipv4.conf.wlan0.drop_gratuitous_arp = 0
net.ipv4.conf.wlan0.drop_unicast_in_l2_multicast = 0
net.ipv4.conf.wlan0.force_igmp_version = 0
net.ipv4.conf.wlan0.forwarding = 0
net.ipv4.conf.wlan0.igmpv2_unsolicited_report_interval = 10000
net.ipv4.conf.wlan0.igmpv3_unsolicited_report_interval = 1000
net.ipv4.conf.wlan0.ignore_routes_with_linkdown = 0
net.ipv4.conf.wlan0.log_martians = 0
net.ipv4.conf.wlan0.mc_forwarding = 0
net.ipv4.conf.wlan0.medium_id = 0
net.ipv4.conf.wlan0.promote_secondaries = 0
net.ipv4.conf.wlan0.proxy_arp = 0
net.ipv4.conf.wlan0.proxy_arp_pvlan = 0
net.ipv4.conf.wlan0.route_localnet = 0
net.ipv4.conf.wlan0.rp_filter = 0
net.ipv4.conf.wlan0.secure_redirects = 1
net.ipv4.conf.wlan0.send_redirects = 1
net.ipv4.conf.wlan0.shared_media = 1
net.ipv4.conf.wlan0.src_valid_mark = 0
net.ipv4.conf.wlan0.tag = 0
net.ipv4.neigh.wlan0.anycast_delay = 99
net.ipv4.neigh.wlan0.app_solicit = 0
net.ipv4.neigh.wlan0.base_reachable_time = 30
net.ipv4.neigh.wlan0.base_reachable_time_ms = 30000
net.ipv4.neigh.wlan0.delay_first_probe_time = 5
net.ipv4.neigh.wlan0.gc_stale_time = 60
net.ipv4.neigh.wlan0.locktime = 99
net.ipv4.neigh.wlan0.mcast_resolicit = 0
net.ipv4.neigh.wlan0.mcast_solicit = 3
net.ipv4.neigh.wlan0.proxy_delay = 79
net.ipv4.neigh.wlan0.proxy_qlen = 64
net.ipv4.neigh.wlan0.retrans_time = 99
net.ipv4.neigh.wlan0.retrans_time_ms = 1000
net.ipv4.neigh.wlan0.ucast_solicit = 3
net.ipv4.neigh.wlan0.unres_qlen = 101
net.ipv4.neigh.wlan0.unres_qlen_bytes = 212992
net.ipv6.conf.wlan0.accept_dad = 1
net.ipv6.conf.wlan0.accept_ra = 1
net.ipv6.conf.wlan0.accept_ra_defrtr = 1
net.ipv6.conf.wlan0.accept_ra_from_local = 0
net.ipv6.conf.wlan0.accept_ra_min_hop_limit = 1
net.ipv6.conf.wlan0.accept_ra_mtu = 1
net.ipv6.conf.wlan0.accept_ra_pinfo = 1
net.ipv6.conf.wlan0.accept_ra_rtr_pref = 1
net.ipv6.conf.wlan0.accept_redirects = 1
net.ipv6.conf.wlan0.accept_source_route = 0
net.ipv6.conf.wlan0.addr_gen_mode = 0
net.ipv6.conf.wlan0.autoconf = 1
net.ipv6.conf.wlan0.dad_transmits = 1
net.ipv6.conf.wlan0.disable_ipv6 = 0
net.ipv6.conf.wlan0.disable_policy = 0
net.ipv6.conf.wlan0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.wlan0.drop_unsolicited_na = 0
net.ipv6.conf.wlan0.enhanced_dad = 1
net.ipv6.conf.wlan0.force_mld_version = 0
net.ipv6.conf.wlan0.force_tllao = 0
net.ipv6.conf.wlan0.forwarding = 0
net.ipv6.conf.wlan0.hop_limit = 64
net.ipv6.conf.wlan0.ignore_routes_with_linkdown = 0
net.ipv6.conf.wlan0.keep_addr_on_down = 0
net.ipv6.conf.wlan0.max_addresses = 16
net.ipv6.conf.wlan0.max_desync_factor = 600
net.ipv6.conf.wlan0.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.wlan0.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.wlan0.mtu = 1500
net.ipv6.conf.wlan0.ndisc_notify = 0
net.ipv6.conf.wlan0.ndisc_tclass = 0
net.ipv6.conf.wlan0.proxy_ndp = 0
net.ipv6.conf.wlan0.regen_max_retry = 3
net.ipv6.conf.wlan0.router_probe_interval = 60
net.ipv6.conf.wlan0.router_solicitation_delay = 1
net.ipv6.conf.wlan0.router_solicitation_interval = 4
net.ipv6.conf.wlan0.router_solicitation_max_interval = 3600
net.ipv6.conf.wlan0.router_solicitations = -1
net.ipv6.conf.wlan0.seg6_enabled = 0
net.ipv6.conf.wlan0.seg6_require_hmac = 0
net.ipv6.conf.wlan0.suppress_frag_ndisc = 1
net.ipv6.conf.wlan0.temp_prefered_lft = 86400
net.ipv6.conf.wlan0.temp_valid_lft = 604800
net.ipv6.conf.wlan0.use_oif_addrs_only = 0
net.ipv6.conf.wlan0.use_tempaddr = 0
net.ipv6.neigh.wlan0.anycast_delay = 99
net.ipv6.neigh.wlan0.app_solicit = 0
net.ipv6.neigh.wlan0.base_reachable_time = 30
net.ipv6.neigh.wlan0.base_reachable_time_ms = 30000
net.ipv6.neigh.wlan0.delay_first_probe_time = 5
net.ipv6.neigh.wlan0.gc_stale_time = 60
net.ipv6.neigh.wlan0.locktime = 0
net.ipv6.neigh.wlan0.mcast_resolicit = 0
net.ipv6.neigh.wlan0.mcast_solicit = 3
net.ipv6.neigh.wlan0.proxy_delay = 79
net.ipv6.neigh.wlan0.proxy_qlen = 64
net.ipv6.neigh.wlan0.retrans_time = 300
net.ipv6.neigh.wlan0.retrans_time_ms = 1000
net.ipv6.neigh.wlan0.ucast_solicit = 3
net.ipv6.neigh.wlan0.unres_qlen = 101
net.ipv6.neigh.wlan0.unres_qlen_bytes = 212992
bruno@box:~$ sysctl -a | grep ipv6
net.ipv6.anycast_src_echo_reply = 0
net.ipv6.auto_flowlabels = 1
net.ipv6.bindv6only = 0
---snip---
At this point (a minute or more after boot), sudo dhclient -6 -v -cf /etc/dhcp/dhclient.conf wlan0 works just fine (as would be expected now that the kernel actually supports ipv6).
Very strange. Since ipv6-4.19.10-tinycore64.tcz is in my onboot.lst, shouldn't the ipv6 settings be available as soon as I get to my desktop after booting?
-
Hi GNUser
... Very strange. Since ipv6-4.19.10-tinycore64.tcz is in my onboot.lst, shouldn't the ipv6 settings be available as soon as I get to my desktop after booting? ...
Two thoughts:
1. Try moving ipv6-4.19.10-tinycore64.tcz earlier in your onboot.lst.
2. I'm also using the nodhcp bootcode. /etc/init.d/dhcp.sh was separated from tc-config because it may take a while to finish.
-
Just to exclude me being the problem, here is what I'm seeing before I run ANY network-related commands after booting:
bruno@box:~$ tce-status -i | grep ip
bzip2-lib
iproute2
iptables
ipv6-4.19.10-tinycore64
p7zip
bruno@box:~$ sysctl -a | grep ipv6
bruno@box:~$
As you can see, ipv6-4.19.10-tinycore64 is loaded but it seems to have no effect.
-
No luck, Rich. I put ipv6-4.19.10-tinycore64.tcz at the very top of onboot.lst and used the nodhcp boot code.
This is still what I'm seeing when I get to my desktop:
bruno@box:~$ tce-status -i | grep ipv6
ipv6-4.19.10-tinycore64
bruno@box:~$ sysctl -a | grep ipv6
bruno@box:~$
Is there a command that I can manually run after getting to my desktop that would force the kernel to "notice" the contents of ipv6-4.19.10-tinycore64.tcz?
-
Hi GNUser
Just to exclude me being the problem, here is what I'm seeing before I run ANY network-related commands after booting:
bruno@box:~$ tce-status -i | grep ip
bzip2-lib
iproute2
iptables
ipv6-4.19.10-tinycore64
p7zip
bruno@box:~$ sysctl -a | grep ipv6
bruno@box:~$
As you can see, ipv6-4.19.10-tinycore64 is loaded but it seems to have no effect.
Is it possible something in iproute2 or iptables has been started and is delaying ipv6 ?
-
Hi GNUser
No luck, Rich. I put ipv6-4.19.10-tinycore64.tcz at the very top of onboot.lst and used the nodhcp boot code.
This is still what I'm seeing when I get to my desktop:
bruno@box:~$ tce-status -i | grep ipv6
ipv6-4.19.10-tinycore64
bruno@box:~$ sysctl -a | grep ipv6
bruno@box:~$
Is there a command that I can manually run after getting to my desktop that would force the kernel to "notice" the contents of ipv6-4.19.10-tinycore64.tcz?
Does lsmod show ipv6 is loaded at that point in time?
-
Strong thinking, Rich. No, according to lsmod, ipv6 is not loaded at that point.
I changed my wifi-connect script to this, and now it works as expected:
modprobe ipv6
wpa_passphrase "$ssid" "$password" > $auth_file
wpa_supplicant -i $iface -c $auth_file &
dhclient -v -cf /etc/dhcp/dhclient.conf $iface
Turns out the single dhclient command above gets an IPv4 address and an IPv6 address as well, no there's no need to run dhclient a second time with the -6 flag.
-
Thank you, Rich. You are an amazing resource. This is solved.
curaga and juanito:
/usr/local/tce.installed/ipv6-4.19.10-tinycore64 in ipv6-4.19.10-tinycore64.tcz should probably contain this:
#!/bin/sh
modprobe ipv6
-
Hi GNUser
For what it's worth, my dmesg shows this:
[ 28.395220] e100 0000:03:08.0 eth0: NIC Link is Up 100 Mbps Full Duplex
[ 33.730665] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 33.809831] NET: Registered protocol family 10
[ 33.887829] Segment Routing with IPv6
Those timestamps coincide with when my desktop appears.
-
The last two lines from the above show up in my dmesg as well, but it seems ipv6 kernel module is not loaded when I arrive at desktop unless I run modprobe ipv6.
P.S. Now that my ipv6 issue has been solved, I discovered that udhcpc is just as capable a DHCP client as dhclient: Both can grab IPv4 and IPv6 addresses at the same time without being explicitly asked. Given that udhcpc does not require an extension (it is part of the base system), is zero-conf (compared to dhclient, which was a major pain to configure) and has a trivial syntax (e.g., udhcpc -i wlan0), it seems like an obvious winner.
-
Yes, the kernel will only autoload ipv6 when it is needed (another module depends on it, or you run an ipv6 command, or possibly when getting such a packet). However some people will load the ipv6 extension without intending to use ipv6, since nowadays the firewall modules depend on it.
-
However some people will load the ipv6 extension without intending to use ipv6, since nowadays the firewall modules depend on it.
I discovered this the hard way when setting up my TC-powered IPv4-only home router, which includes a firewall.
I guess a better way (than tce.installed script) to prevent surprises if folks *do* want IPv6 is to mention in the extension's comments section that loading the extension is not enough; the kernel module needs to be loaded, too. FWIW I'd also mention that any firewall requires the extension, although this will be less likely to help folks who are stuck. (Until now I've always wondered why my router needed the extension.)
-
Hi GNUser
I removed ipv6-KERNEL.tcz from my onboot.lst to figure out why I installed it and what was causing the ipv6 driver to load. It was the
NFS services being started. Syslog showed tcp6 and udp6 errors logged by nfsd, rpcbind, rpc.mountd, and rpc.statd. NFS will still
run without it, I just wanted to suppress the error messages.
[ 33.730665] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Those timestamps coincide with when my desktop appears.
Thats the nfsd module loading.
[ 33.809831] NET: Registered protocol family 10
That's the inet6 protocol being registered.