WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: how to fully enable IPv6?  (Read 6688 times)

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
how to fully enable IPv6?
« 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):

Code: [Select]
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:
Code: [Select]
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:

Code: [Select]
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?

« Last Edit: November 23, 2019, 08:04:37 PM by GNUser »

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #1 on: November 23, 2019, 07:53:35 PM »
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:

Code: [Select]
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?
« Last Edit: November 23, 2019, 07:55:39 PM by GNUser »

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #2 on: November 23, 2019, 08:25:05 PM »
Hi GNUser
My wired connection has IPV6 without any "shenanigans".
The script I call from bootlocal to set up my Ethernet card:
Code: [Select]
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:
Code: [Select]
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):
Code: [Select]
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:~$

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #3 on: November 23, 2019, 08:26:37 PM »
Ah, just realized that dhclient defaults to IPv4. Even specifying IPv6, I'm not doing much better:

Code: [Select]
$ 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.

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #4 on: November 23, 2019, 08:29:47 PM »
Thank you, Rich. Interesting that you get an IPv6 address without explicitly asking for one.

In output of lsmod I also see "ipv6":

Code: [Select]
$ 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

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #5 on: November 23, 2019, 08:39:57 PM »
Hi GNUser
If you execute:
Code: [Select]
sudo sysctl -a | less -Iyou'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.

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #6 on: November 23, 2019, 08:48:40 PM »
Hi GNUser
Here are the settings for my wired connection:
Code: [Select]
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:
Code: [Select]
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.disable_ipv6 = 0

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #7 on: November 23, 2019, 10:40:21 PM »
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.

Code: [Select]
$ 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:


Code: [Select]
$ 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?
« Last Edit: November 23, 2019, 11:10:39 PM by GNUser »

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #8 on: November 23, 2019, 10:57:21 PM »
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.

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #9 on: November 23, 2019, 10:58:41 PM »
Just to exclude me being the problem, here is what I'm seeing before I run ANY network-related commands after booting:

Code: [Select]
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.

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #10 on: November 23, 2019, 11:05:16 PM »
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:

Code: [Select]
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?
« Last Edit: November 23, 2019, 11:08:14 PM by GNUser »

Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #11 on: November 23, 2019, 11:13:36 PM »
Hi GNUser
Just to exclude me being the problem, here is what I'm seeing before I run ANY network-related commands after booting:

Code: [Select]
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 ?


Online Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11630
Re: how to fully enable IPv6?
« Reply #12 on: November 23, 2019, 11:19:34 PM »
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:

Code: [Select]
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?
« Last Edit: November 23, 2019, 11:41:21 PM by Rich »

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #13 on: November 23, 2019, 11:36:26 PM »
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:

Code: [Select]
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.
« Last Edit: November 23, 2019, 11:41:42 PM by GNUser »

Offline GNUser

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 1511
Re: how to fully enable IPv6?
« Reply #14 on: November 23, 2019, 11:38:47 PM »
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:

Code: [Select]
#!/bin/sh
modprobe ipv6