Skip to main content

Sinds een tijdje ben ik aan het experimenteren met een Pine Phone (Linux, Manjaro/PhoSh) als vervanger van mijn iPhone. Tot nu toe werkt alles dat ik wil prima, behalve het delen van de dataverbinding via de hotspot. Als ik deze enable ziet alles er ok uit en mijn MacBook kan ook verbinden en krijgt een ipv4-adres, maar naar buiten toe werkt niets: geen email, geen browsing, geen instant messaging - niets. Ik heb een issue aangemaakt op https://github.com/manjaro-pinephone/phosh/issues/48 met wat meer achtergrondinformatie. Deze vraag specifiek: “

“Is it expected to have only ipv6 DNS servers in resolv.conf?”

Heeft iemand hier ervaring met opzetten van hotspot op een Linux telefoon?

 

Note: dezelfde setup werkt prima via de iPhone.

Hallo @RobGadget 

 

Ik heb geen ervaring met de Pine telefoons (trouwens wel interessante), wel wat ervaring met Linux.

Krijgt die Pine Phone naast een IPv6 ook een publiek IPv4 IP adres?

Dan zouden in je resolv.conf zowel IPv4 als IPv6 DNS servers moeten staan.

Als dat niet gebeurd is dat misschien een bug, misschien kan je die als test even handmatig toevoegen aan dat bestand op die mobiel?
Je zou b.v. echo 1.1.1.1 >> /etc/resolv.conf kunnen proberen.

Waarom verbind je Mac alleen met IPv4 en niet ook met IPv6?

Kan je vanaf de Mac wel IPv4 adressen pingen?
1.1.1.1 kan je pingen dus die kan je proberen.

Op die Mac zou je ook die 1.1.1.1 kunnen toevoegen als DNS server als dat op de Pine Phone niet kan.


Hallo @GeSp,

Als ik de ip config bekijk, zie ik alleen een ipv6 adres voor wwan:

3: wwan0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000

    link/none 

    inet6 2a02:a420:0:1995:c039:41f3:9a16:c370/64 scope global noprefixroute 

       valid_lft forever preferred_lft forever

Klinkt logisch dus dat we alleen een ipv6 dns server hebben. ;)


Hallo @RobGadget 

 

Doet die mobiel ook NAT translation tussen IPv4 en IPv6?

Zo niet dan zal dat de reden zijn dat je Mac via IPv4 geen internet verbinding krijgt.

Kan je ergens instellen dat de Pine mobiel ook een IPv4 IP adres ophaalt?

Of je kan je Mac instellen op IPv6, dan zal die waarschijnlijk wel internet op kunnen.


Hallo @GeSp,

 

Geen idee nog of die NAT doet, goed punt, ga ik uitzoeken. Ik had wel al geprobeerd of ip_forwarding aanzetten iets uitmaakt: niet dus. Ik vraag me sowieso af of KPN überhaupt een ipv4-adres geeft op de wwan interface. Ik zou mijn iPhone eens moeten jailbreaken dan kan ik zien hoe het daar zit. Ik geloof dat ik nog ergens een oude iPhone 6 heb, die zou ik kunnen gebruiken, to be continued. ;)

In https://www.reddit.com/r/pinephone/comments/wqpkmn/no_data_through_hotspot_on_manjarophosh_beta25/ bevestigt iemand dat hij/zij de hotspot aan het werk heeft op Manjaro. Ik weet het, is slechts één persoon, maar toch. Aan de andere kant zijn er ook mensen die zeggen dat de hotspot op Manjaro nog een wip is: https://forum.manjaro.org/t/pinephone-wifi-hotspot-no-internet-connectivity/111386. Altijd prettig, berichten die elkaar compleet tegenspreken.

Een ander experiment dat ik wil doen is met Mobian, daarvan heb ik meermaals bevestigd gezien dat de hotspot daar werkt.


@GeSp : ik kwam https://wiki.archlinux.org/title/Internet_sharing#Enable_packet_forwarding tegen, daar ben ik nu mee aan het experimenteren. Het lukt me nog niet om NAT64 op te zetten, heb jij daar ervaring mee?

De Pine krijgt 100% zeker geen ipv4 adres op wwan0. Ik heb m’n MacBook geconfigureerd om ook ipv6 te doen als mogelijk.

Verder zag ik nog een heleboel sysctl settings voor ipv4 en ipv6, waarbij ipv6 op disabled stond. Die heb ik maar even aangezet. Ik moet nog verder in de settings duiken en uitzoeken of ze gerelateerd kunnen zijn aan mijn probleem. Suggesties zijn welkom!


@RobGadget 

Nee, geen ervaring mee, ik vraag me ook af of dat überhaupt gaat werken.

Het beste lijkt mij om toch te kijken of je de Pine phone zover krijgt om ook een IPv4 IP adres te laten verkrijgen.

Makkelijkst om te achterhalen welke IP adressen je krijgt als je op 4/5G is om ze hier op te vragen, dan zie je vanzelf of je beide krijgt: https://www.watzijnmijnips.nl/

 


@GeSp 

Als ik die site op mijn iPhone met werkende hotspot, is er geen ipv4-adres beschikbaar. Dit lijkt te bevestigen wat ik al vermoedde: KPN geeft geen ipv4-adressen op 4G - lijkt me ook logisch, aangezien die vrijwel op zijn.

Voor iPhone vond ik https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html aangaande NAT64 e.d. Dit lijkt te bevestigen dat de iPhone inderdaad NAT64 translatie kan doen. Ik ga vandaag of morgen mijn oude iPhone bekijken om dat te bevestigen.

Waarom denk je dat NAT64 niet zou werken op Linux? Ik worstel nu nog even met headers en andere packages om jool geïnstalleerd te krijgen, maar daar kom ik wel uit. Ik zet de PinePhone terug naar Manjaro/PhoSh beta28 om een stable kernel te krijgen (ik had 6.0rc), zodat het wat makkelijker is om headers e.d. op orde te krijgen.


Ik bedoelde of het wel gaat werken met iptables, het zit er niet standaard in.

Met jool https://www.jool.mx/en/index.html zou het i.d.d. wel moeten kunnen.

Ik ben benieuwd of je het werkend krijgt.


@GeSp heb jij enige ervaring met Jool? Het is me gelukt om een en ander te installeren:

>manjaro@manjaro-arm ~]$ lsmod | grep jool

jool_siit              16384  0

jool                   16384  0

jool_common           196608  2 jool_siit,jool

Grootste probleem was de kernel headers, maar dit is goed gekomen:

omanjaro@manjaro-arm ~]$ pacman -Q | grep linux-pine

linux-pinephone 6.1.0rc8-1

linux-pinephone-headers 6.1.0rc8-1

Waar ik nu vast loop is:

amanjaro@manjaro-arm ~]$ sudo jool instance add --iptables

Error: The kernel module returned error 22: pool6 is mandatory in NAT64 instances.

Wat gebruik ik als waarde voor de ipv6 pool?


Nee, geen ervaring mee, maar als ik de docs doorlees zou het b.v. zoiets moeten worden:

jool instance add --iptables --pool6 64:ff9b::/96

Je kan daar ook andere prefixes of prefix lenghts gebruiken, zie https://www.jool.mx/en/pool6.html

Kijk ook eens die RFC 6052 waarnaar een linkje op die pagina staat door.


@GeSp even een korte update: ook na toevoegen van de ipv6 pool werkt het nog niet. Ik krijg trouwens ook nog steeds geen ipv6-adres op mij MacBook wanneer die connected is aan de hotspot. Moet ik misschien nog ipv6 functionaliteit enablen in Linux zodat deze ook ipv6-adressen uit gaat geven? Dit even als zijsprong, om een parallel pad te proberen.


@RobGadget Er zal een DHCP server actief zijn want je Mac kreeg toch wel een IPv4 IP adres?

Misschien is daarin niet ingesteld dat die DHCP server ook IPv6 IP adressen uitgeeft.

Ik heb echter geen idee welke DHCP server gebruikt wordt op je Pine Phone dus hoe je dat moet controleren/instellen weet ik niet.


@GeSp via Reddit kreeg ik een tip om linux-wifi-hotspot te gebruiken. 🙂 Dat is een heel stuk makkelijker, maar werkt helaas nog niet, zie https://github.com/lakinduakash/linux-wifi-hotspot/issues/287.

Van de DHCP server: zoiets vermoedde ik ook, ik ga eens in de config daarvan duiken.


@GeSp ik ben weer een stukje verder, zie https://www.reddit.com/r/PINE64official/comments/zsfosk/comment/j1zja2b/?utm_source=share&utm_medium=web2x&context=3.

Ik krijg nu bij connectie met iPhone en access point steeds AP-STA-POSSIBLE-PSK-MISMATCH. Macbook connect niet, blijft melding geven dat wachtwoord voor het access point onjuist is - dat is echter niet zo. Lijkt me ergens een incompatibiliteits issue?


@RobGadget 

Je Mac wil nu ook niet met de hotspot van de iPhone connecten of wil de iPhone ook niet met de Pine Phone connecten?

Kan je de inhoud van het /etc/create_ap.conf bestand plaatsen?


@GeSp 

Sorry als ‘t wat onduidelijk is: het ging om de verbinding van MacBook en iPhone met de hotspot op de PinePhone, dus Linux.

Hier is het bestand - interessant dat SSID en passphrase niet zijn wat ik mee gaf in de command line:

dmanjaro@manjaro-arm ~]$ cat /etc/create_ap.conf 

CHANNEL=default

GATEWAY=192.168.12.1

WPA_VERSION=2

ETC_HOSTS=0

DHCP_DNS=gateway

NO_DNS=0

NO_DNSMASQ=0

HIDDEN=0

MAC_FILTER=0

MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept

ISOLATE_CLIENTS=0

SHARE_METHOD=nat

IEEE80211N=0

IEEE80211AC=0

HT_CAPAB=PHT40+]

VHT_CAPAB=

DRIVER=nl80211

NO_VIRT=0

COUNTRY=

FREQ_BAND=2.4

NEW_MACADDR=

DAEMONIZE=0

DAEMON_PIDFILE=

DAEMON_LOGFILE=/dev/null

NO_HAVEGED=0

WIFI_IFACE=wlan0

INTERNET_IFACE=wwan0

SSID=MyAccessPoint

PASSPHRASE=12345678

USE_PSK=0


@RobGadget 

 

Als in dat bestand een andere SSID en PassPhrase staan dan zal dat de reden van de foutmelding zijn, apart dat hij niet de door jou opgegeven gegevens opslaat.
Misschien komt het door de volgorde waarin je dat hebt opgegeven?

Usage: "$PROGNAME" "options] <wifi-interface> ;<interface-with-internet>] ]<access-point-name> ;<passphrase>]]"

Werkt het wel als je het in een andere volgorde probeert met de SSID en PassPhrase aan het eind?
Wellicht werkt het ook als je dat bestand zelf bewerkt en de juiste gegevens erin zet.


@GeSp 

Ik heb de parameters exact opgegeven zoals in usage staat, dus “wlan0 wwan0 ssid passphrase”. De ssid wordt aangemaakt, want daarmee kan ik connecten. Het wachtwoord is wel degelijk juist, want met de iPhone kan ik verbinding maken, alleen wordt die verbinding na een paar seconden weer verbroken, met de foutmelding over PSK mismatch in de stdout output van create_ap. Als je nog suggesties hebt hoe dat te troubleshooten hou ik me aanbevolen. ;)

Alvast een Gelukkig Nieuwjaar!