IPhone Tethering to pfSense
-
Great Thanks stephenw10 and Rico.
That zip file really saved me headaches downloading some iso file.Had some trouble copying the if_ipheth.ko file from local computer to pfSense...I had to use root rather than admin.
Will test physical connection tomorrow, now that the software should be ready. -
Just be aware that when pfSense 2.4.5 is released that kernel module will probably fail and require a module from 11-stable instead.
If we can get those drivers included as modules that would not happen. I'm not entirely sure what the reasoning was for not including them, I do know it's been discussed before though. I have pinged our devs to see if we can do anything.Steve
-
Thanks for the heads up.
Should be where the future is moving, so would be avante garde to include now.
Unless there's a conflict of interest with a networking business in control of the open source pfSense OS? -
Not sure if a Proxmox or pfSense issue.
I allocated Proxmox's USB port to the pfSense VM ID.pfSense dmesg and usbconfig don't show ue0?
-
Do you see a new device detected at all when it's connected?
I would probably try to get this working on real hardware first but I guess you could tackle it either way.
Steve
-
I have the USB connected to my local Linux Mint computer.
Moving hardware to the hypervisor is where the issue arises.
Hypervisor shell > $ lsusb > Enter > outputs the USB device.root@proxmox:~# lsusb Bus 002 Device 002: ID 8087:8000 Intel Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:8008 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 05ac:12a8 Apple, Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
I allocated the USB ID 05ac:12a8 to the pfSense VM ID 145.
From there, I don't see much confirmation of pfSense connected to the USB?[2.4.4-RELEASE][admin@pfSense.localdomain]/root: ifconfig vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c00b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE> ether 42:63:7c:e4:6c:e3 hwaddr 42:63:7c:e4:6c:e3 inet6 fe80::4063:7cff:fee4:6ce3%vtnet0 prefixlen 64 scopeid 0x1 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> media: Ethernet 10Gbase-T <full-duplex> status: active vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c00b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE> ether a6:2d:d5:4f:6c:f3 hwaddr a6:2d:d5:4f:6c:f3 inet6 fe80::a42d:d5ff:fe4f:6cf3%vtnet1 prefixlen 64 scopeid 0x2 inet 192.168.1.170 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet 10Gbase-T <full-duplex> status: active enc0: flags=0<> metric 0 mtu 1536 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: enc lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: lo pflog0: flags=100<PROMISC> metric 0 mtu 33160 groups: pflog pfsync0: flags=0<> metric 0 mtu 1500 groups: pfsync syncpeer: 224.0.0.240 maxupd: 128 defer: on syncok: 1 [2.4.4-RELEASE][admin@pfSense.localdomain]/root: usbconfig ugen0.1: <Intel UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen0.2: <QEMU QEMU USB Tablet> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
According to https://forum.netgate.com/topic/95174/huawei-k5160-4g-usb-mobile-broadband/6 > post 6 > point 5 > I should see ue0, however I don't see this yet?
-
I believe this is not a pfSense issue.
I'm working on the hypervisor to pass the USB through. -
Yeah you should see it in usbconfig and dmesg after connecting it. You won't see it as an interface in ifconfig until a driver attaches to it.
Steve
-
Ok, finally have the hypervisor working and passing the USB to the pfSense VM.
Not sure on the config for the pfSense VM to use a USB modem, so will try this link.[2.4.4-RELEASE][admin@pfSense.localdomain]/boot: usbconfig ugen1.1: <Intel UHCI root HUB> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen0.1: <Intel UHCI root HUB> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen3.1: <Intel UHCI root HUB> at usbus3, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen2.1: <Intel UHCI root HUB> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE (0mA) ugen4.1: <Intel EHCI root HUB> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE (0mA) ugen0.2: <QEMU QEMU USB Tablet> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) ugen4.2: <Apple Inc. iPhone> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) [2.4.4-RELEASE][admin@pfSense.localdomain]/boot: ifconfig vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c00b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE> ether 42:63:7c:e4:6c:e3 hwaddr 42:63:7c:e4:6c:e3 inet6 fe80::4063:7cff:fee4:6ce3%vtnet0 prefixlen 64 scopeid 0x1 inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> media: Ethernet 10Gbase-T <full-duplex> status: active vtnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c00b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWTSO,LINKSTATE> ether a6:2d:d5:4f:6c:f3 hwaddr a6:2d:d5:4f:6c:f3 inet6 fe80::a42d:d5ff:fe4f:6cf3%vtnet1 prefixlen 64 scopeid 0x2 inet 192.168.1.170 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> media: Ethernet 10Gbase-T <full-duplex> status: active enc0: flags=0<> metric 0 mtu 1536 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: enc lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> groups: lo pflog0: flags=100<PROMISC> metric 0 mtu 33160 groups: pflog pfsync0: flags=0<> metric 0 mtu 1500 groups: pfsync syncpeer: 224.0.0.240 maxupd: 128 defer: on syncok: 1
Post 6, point 5, pfSense shows:
pfSense > Interfaces > Assign.
My pfSense 2.4.4 > Interfaces > Assignments > has no option to add OPT2. What do I need to do to add the USB? -
If the phone is detected and you see a ue0 interface you should just be able to assign it and set it as dhcp.
Also: https://github.com/pfsense/pfsense/commit/41e09c2264bcc8067c349213eab5c0dadfb5681f
-
pfSense 2.4.4 has the kernel module if_ipheth.ko:
[2.4.4-RELEASE][admin@pfSense.localdomain]/boot/modules: ls bwi_v3_ucode.ko if_ipheth.ko linker.hints
pfSense 2.4.4 /boot has the loader.conf file:
[2.4.4-RELEASE][admin@pfSense.localdomain]/boot: ls beastie.4th brand.4th frames.4th loader.efi menu-commands.4th userboot.so boot cdboot gptboot loader.help menu.4th version.4th boot0 check-password.4th gptzfsboot loader.rc menu.rc zfs boot0sio color.4th isoboot logo-beastie.4th menusets.4th zfsboot boot1 defaults kernel logo-beastiebw.4th modules zfsloader boot1.efi delay.4th kernel.old logo-fbsdbw.4th pmbr boot1.efifat device.hints loader logo-orb.4th pxeboot boot2 dtb loader.4th logo-orbbw.4th screen.4th brand-fbsd.4th entropy loader.conf logo-pfSensebw.4th shortcuts.4th brand-pfSense.4th firmware loader.conf.origin mbr support.4th
pfSense 2.4.4 has the loader.conf file edited:
kern.cam.boot_delay=10000 kern.ipc.nmbclusters="1000000" kern.ipc.nmbjumbop="524288" kern.ipc.nmbjumbo9="524288" if_ipheth_load="YES" autoboot_delay="3" hw.usb.no_pf="1"
Not sure why I can't edit the pfSense GUI to add the USB modem now?
usbconfig shows ugen4.2, rather than ue0, but not sure why and if it's an issue? -
Not sure what to do with the GitHub code?
Think I'll file a bug report. -
I thought this Cellular Wireless guide might help.
However, unable to type in the pfSense 2.4.4-RELEASE-p2 > Interfaces > PPPs > PPP Configuration > Link Interface(s): /dev/ugen4.2
-
I'm pretty sure ipheth does not provide any interfaces you could use with PPP. It will appear as a USB Ethernet device when it's working.
You should put that loader line in loader.conf.local to avoid it being overwritten. Create that file since you don't have it yet.
Try running
kldstat
to see that the module is loaded.Connect the phone then check the system log or dmesg to see what pfSense did.
What phone are you connecting? ipgeth appears to have specific support for iphones 1-5:
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_5/sys/dev/usb/net/if_ipheth.c#L136Though it also tries to match any Apple device with the correct interface class.
Steve
-
I know we're trying to get an iPhone tethered to pfsense and get it working, but why don't you try this?
GL.iNet GL-AR750 Travel AC Router
https://www.amazon.com/GL-iNet-GL-AR750-300Mbps-pre-Installed-Included/dp/B07712LKJMThere are a few lower-spec'd models, since you don't need the wifi on this travel router box.
That would provide an ethernet interface, and still use the iPhone to grab the internet connection from your cellular provider. It works pretty well, if you've got a good signal.
Jeff
-
Thanks @stephenw10,
The kernel module is running:[2.4.4-RELEASE][admin@pfSense.localdomain]/.ssh: kldstat Id Refs Address Size Name 1 8 0xffffffff80200000 2d9a7d0 kernel 2 1 0xffffffff82f9c000 4318 if_ipheth.ko 3 1 0xffffffff83019000 10a0 cpuctl.ko
dmesg shows pfSense has found the iPhone (18th line from the bottom):
[2.4.4-RELEASE][admin@pfSense.localdomain]/.ssh: dmesg: Copyright (c) 1992-2018 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 11.2-RELEASE-p6 #3 518496b29ae(RELENG_2_4_4): Wed Dec 12 07:41:44 EST 2018 root@buildbot2.nyi.netgate.com:/build/ce-crossbuild-244/obj/amd64/ZfGpH5cd/build/ce-crossbuild-244/pfSense/tmp/FreeBSD-src/sys/pfSense amd64 FreeBSD clang version 6.0.0 (tags/RELEASE_600/final 326565) (based on LLVM 6.0.0) VT(vga): text 80x25 CPU: Common KVM processor (3092.92-MHz K8-class CPU) Origin="GenuineIntel" Id=0xf61 Family=0xf Model=0x6 Stepping=1 Features=0x783fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2> Features2=0x80202001<SSE3,CX16,x2APIC,HV> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> Hypervisor: Origin = "KVMKVMKVM" real memory = 1073741824 (1024 MB) avail memory = 981479424 (936 MB) Event timer "LAPIC" quality 100 ACPI APIC Table: <BOCHS BXPCAPIC> ioapic0 <Version 1.1> irqs 0-23 on motherboard Timecounter "TSC-low" frequency 1546458305 Hz quality 800 ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw.LICENSE. ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_bss_fw, 0xffffffff80680430, 0) error 1 random: entropy device external interface ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw.LICENSE. ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_ibss_fw, 0xffffffff806804e0, 0) error 1 ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw.LICENSE. ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_monitor_fw, 0xffffffff80680590, 0) error 1 iwi_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE. iwi_bss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_bss_fw, 0xffffffff806a7460, 0) error 1 iwi_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE. iwi_ibss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_ibss_fw, 0xffffffff806a7510, 0) error 1 iwi_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi.LICENSE. iwi_monitor: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_monitor_fw, 0xffffffff806a75c0, 0) error 1 wlan: mac acl policy registered kbd1 at kbdmux0 netmap: loaded module module_register_init: MOD_LOAD (vesa, 0xffffffff81209800, 0) error 19 nexus0 vtvga0: <VT VGA driver> on motherboard cryptosoft0: <software crypto> on motherboard padlock0: No ACE support. acpi0: <BOCHS BXPCRSDT> on motherboard acpi0: Power Button (fixed) cpu0: <ACPI CPU> on acpi0 atrtc0: <AT realtime clock> port 0x70-0x71,0x72-0x77 irq 8 on acpi0 atrtc0: registered as a time-of-day clock, resolution 1.000000s Event timer "RTC" frequency 32768 Hz quality 0 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 100000000 Hz quality 950 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x608-0x60b on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 isab0: <PCI-ISA bridge> at device 1.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX3 WDMA2 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe120-0xe12f at device 1.1 on pci0 ata0: <ATA channel> at channel 0 on atapci0 ata1: <ATA channel> at channel 1 on atapci0 uhci0: <Intel 82371SB (PIIX3) USB controller> port 0xe040-0xe05f irq 11 at device 1.2 on pci0 usbus0 on uhci0 pci0: <bridge> at device 1.3 (no driver attached) vgapci0: <VGA-compatible display> mem 0xfa000000-0xfbffffff,0xfea90000-0xfea90fff at device 2.0 on pci0 vgapci0: Boot video device virtio_pci0: <VirtIO PCI Balloon adapter> port 0xe060-0xe07f mem 0xfc000000-0xfc7fffff irq 11 at device 3.0 on pci0 vtballoon0: <VirtIO Balloon Adapter> on virtio_pci0 virtio_pci1: <VirtIO PCI Block adapter> port 0xe000-0xe03f mem 0xfea91000-0xfea91fff,0xfc800000-0xfcffffff irq 10 at device 10.0 on pci0 vtblk0: <VirtIO Block Adapter> on virtio_pci1 vtblk0: 8192MB (16777216 512 byte sectors) virtio_pci2: <VirtIO PCI Network adapter> port 0xe080-0xe09f mem 0xfea92000-0xfea92fff,0xfd000000-0xfd7fffff irq 10 at device 18.0 on pci0 vtnet0: <VirtIO Networking Adapter> on virtio_pci2 vtnet0: Ethernet address: 42:63:7c:e4:6c:e3 000.000971 [ 421] vtnet_netmap_attach max rings 1 vtnet0: netmap queues/slots: TX 1/1024, RX 1/1024 000.000972 [ 426] vtnet_netmap_attach virtio attached txq=1, txd=1024 rxq=1, rxd=1024 virtio_pci3: <VirtIO PCI Network adapter> port 0xe0a0-0xe0bf mem 0xfea93000-0xfea93fff,0xfd800000-0xfdffffff irq 11 at device 19.0 on pci0 vtnet1: <VirtIO Networking Adapter> on virtio_pci3 vtnet1: Ethernet address: a6:2d:d5:4f:6c:f3 000.000973 [ 421] vtnet_netmap_attach max rings 1 vtnet1: netmap queues/slots: TX 1/1024, RX 1/1024 000.000974 [ 426] vtnet_netmap_attach virtio attached txq=1, txd=1024 rxq=1, rxd=1024 uhci1: <Intel 82801I (ICH9) USB controller> port 0xe0c0-0xe0df irq 10 at device 29.0 on pci0 usbus1 on uhci1 uhci2: <Intel 82801I (ICH9) USB controller> port 0xe0e0-0xe0ff irq 10 at device 29.1 on pci0 usbus2 on uhci2 uhci3: <Intel 82801I (ICH9) USB controller> port 0xe100-0xe11f irq 11 at device 29.2 on pci0 usbus3 on uhci3 ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xfea94000-0xfea94fff irq 11 at device 29.7 on pci0 usbus4: EHCI version 1.0 usbus4 on ehci0 pcib1: <ACPI PCI-PCI bridge> mem 0xfea95000-0xfea950ff irq 10 at device 30.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pcib2: <ACPI PCI-PCI bridge> mem 0xfea96000-0xfea960ff irq 11 at device 31.0 on pci0 pci2: <ACPI PCI bus> on pcib2 acpi_syscontainer0: <System Container> on acpi0 acpi_syscontainer1: <System Container> port 0xaf00-0xaf0b on acpi0 acpi_syscontainer2: <System Container> port 0xafe0-0xafe3 on acpi0 acpi_syscontainer3: <System Container> port 0xae00-0xae13 on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 fdc0: <floppy drive controller (FDE)> port 0x3f2-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: does not respond device_attach: fdc0 attach returned 6 orm0: <ISA Option ROM> at iomem 0xed000-0xeffff on isa0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 attimer0: <AT timer> at port 0x40 on isa0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 fdc0: No FDOUT register! ppc0: cannot reserve I/O port range Timecounters tick every 10.000 msec usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 12Mbps Full Speed USB v1.0 usbus4: 480Mbps High Speed USB v2.0 ugen1.1: <Intel UHCI root HUB> at usbus1 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen0.1: <Intel UHCI root HUB> at usbus0 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 ugen3.1: <Intel UHCI root HUB> at usbus3 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3 ugen2.1: <Intel UHCI root HUB> at usbus2 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen4.1: <Intel EHCI root HUB> at usbus4 uhub4: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 2 ports with 2 removable, self powered ugen0.2: <QEMU QEMU USB Tablet> at usbus0 uhid0 on uhub1 uhid0: <QEMU QEMU USB Tablet, class 0/0, rev 2.00/0.00, addr 2> on usbus0 uhub4: 6 ports with 6 removable, self powered ugen4.2: <Apple Inc. iPhone> at usbus4 cd0 at ata1 bus 0 scbus1 target 0 lun 0 cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI device cd0: Serial Number QM00003 cd0: 16.700MB/s transfers (WDMA2, ATAPI 12bytes, PIO 65534bytes) cd0: 655MB (335744 2048 byte sectors) Trying to mount root from ufs:/dev/ufsid/5c46b3cebae05a43 [rw]... random: unblocking device. CPU: Common KVM processor (3092.92-MHz K8-class CPU) Origin="GenuineIntel" Id=0xf61 Family=0xf Model=0x6 Stepping=1 Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2> Features2=0x80202001<SSE3,CX16,x2APIC,HV> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> Hypervisor: Origin = "KVMKVMKVM" vtnet0: link state changed to UP vtnet1: link state changed to UP pflog0: promiscuous mode enabled
I'm using an old iPhone 5C, works fine on other OSes with USB hotspot.
I suspect it's the VM or FreeBSD factor.
I think I solved the VM factor by passing the USB through the hypervisor correctly.@akuma1x Thanks, however:
- that would be a failure.
- bit like 'just reboot the computer'. I prefer to find and solve the issue at hand, for future reference.
- I'm trying to make the network as efficient as possible.
- The fewer hardware devices:
4.1 the less points of failure
4.2 the less power costs
4.3 possibly less network bottlenecks
4.3.1 possibly less speed delays - reduces fiscal expense
- cleaner network topology map
- less unnecessary products
-
Ok check:
usbconfig -d ugen4.2 dump_all_desc
-
Wow, a lot of output. It's beyond my understanding.
[2.4.4-RELEASE][admin@pfSense.localdomain]/.ssh: usbconfig -d ugen4.2 dump_all_desc ugen4.2: <Apple Inc. iPhone> at usbus4, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON (500mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0200 bDeviceClass = 0x0000 <Probed by interface class> bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x05ac idProduct = 0x12a8 bcdDevice = 0x0530 iManufacturer = 0x0001 <Apple Inc.> iProduct = 0x0002 <iPhone> iSerialNumber = 0x0003 <redactedFromPublicViewByForumPostingAuthor> bNumConfigurations = 0x0004 Configuration index 0 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0027 bNumInterfaces = 0x0001 bConfigurationValue = 0x0001 iConfiguration = 0x0005 <PTP> bmAttributes = 0x00c0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x0006 <Still imaging> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Configuration index 1 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0095 bNumInterfaces = 0x0003 bConfigurationValue = 0x0002 iConfiguration = 0x0006 <iPod USB Interface> bmAttributes = 0x00c0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x0001 <Audio device> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x24 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x09, 0x24, 0x01, 0x00, 0x01, 0x1e, 0x00, 0x01, 0x08 | 0x01 Additional Descriptor bLength = 0x0c bDescriptorType = 0x24 bDescriptorSubType = 0x02 RAW dump: 0x00 | 0x0c, 0x24, 0x02, 0x01, 0x01, 0x02, 0x02, 0x02, 0x08 | 0x03, 0x00, 0x00, 0x00 Additional Descriptor bLength = 0x09 bDescriptorType = 0x24 bDescriptorSubType = 0x03 RAW dump: 0x00 | 0x09, 0x24, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x08 | 0x00 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x0001 <Audio device> bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Interface 1 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0001 bNumEndpoints = 0x0001 bInterfaceClass = 0x0001 <Audio device> bInterfaceSubClass = 0x0002 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x07 bDescriptorType = 0x24 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x07, 0x24, 0x01, 0x02, 0x01, 0x01, 0x00 Additional Descriptor bLength = 0x23 bDescriptorType = 0x24 bDescriptorSubType = 0x02 RAW dump: 0x00 | 0x23, 0x24, 0x02, 0x01, 0x02, 0x02, 0x10, 0x09, 0x08 | 0x40, 0x1f, 0x00, 0x11, 0x2b, 0x00, 0xe0, 0x2e, 0x10 | 0x00, 0x80, 0x3e, 0x00, 0x22, 0x56, 0x00, 0xc0, 0x18 | 0x5d, 0x00, 0x00, 0x7d, 0x00, 0x44, 0xac, 0x00, 0x20 | 0x80, 0xbb, 0x00 Endpoint 0 bLength = 0x0009 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0001 <ISOCHRONOUS> wMaxPacketSize = 0x00c0 bInterval = 0x0004 bRefresh = 0x0000 bSynchAddress = 0x0000 Additional Descriptor bLength = 0x07 bDescriptorType = 0x25 bDescriptorSubType = 0x01 RAW dump: 0x00 | 0x07, 0x25, 0x01, 0x01, 0x00, 0x00, 0x00 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0001 bInterfaceClass = 0x0003 <HID device> bInterfaceSubClass = 0x0000 bInterfaceProtocol = 0x0000 iInterface = 0x0000 <no string> Additional Descriptor bLength = 0x09 bDescriptorType = 0x21 bDescriptorSubType = 0x11 RAW dump: 0x00 | 0x09, 0x21, 0x11, 0x01, 0x00, 0x01, 0x22, 0xd0, 0x08 | 0x00 Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x0001 bRefresh = 0x0000 bSynchAddress = 0x0000 Configuration index 2 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x003e bNumInterfaces = 0x0002 bConfigurationValue = 0x0003 iConfiguration = 0x0007 <PTP + Apple Mobile Device> bmAttributes = 0x00c0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x0006 <Still imaging> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00fe bInterfaceProtocol = 0x0002 iInterface = 0x000d <Apple USB Multiplexor> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Configuration index 3 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0075 bNumInterfaces = 0x0003 bConfigurationValue = 0x0004 iConfiguration = 0x0008 <PTP + Apple Mobile Device + Apple USB Ethernet> bmAttributes = 0x00c0 bMaxPower = 0x00fa Interface 0 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0000 bAlternateSetting = 0x0000 bNumEndpoints = 0x0003 bInterfaceClass = 0x0006 <Still imaging> bInterfaceSubClass = 0x0001 bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0002 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0081 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 2 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0083 <IN> bmAttributes = 0x0003 <INTERRUPT> wMaxPacketSize = 0x0040 bInterval = 0x000a bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0001 bAlternateSetting = 0x0000 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00fe bInterfaceProtocol = 0x0002 iInterface = 0x000d <Apple USB Multiplexor> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0004 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0085 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0000 bNumEndpoints = 0x0000 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00fd bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Interface 2 Alt 1 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0001 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00fd bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0086 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0005 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Interface 2 Alt 2 bLength = 0x0009 bDescriptorType = 0x0004 bInterfaceNumber = 0x0002 bAlternateSetting = 0x0002 bNumEndpoints = 0x0002 bInterfaceClass = 0x00ff <Vendor specific> bInterfaceSubClass = 0x00fd bInterfaceProtocol = 0x0001 iInterface = 0x0000 <no string> Endpoint 0 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0086 <IN> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000 Endpoint 1 bLength = 0x0007 bDescriptorType = 0x0005 bEndpointAddress = 0x0005 <OUT> bmAttributes = 0x0002 <BULK> wMaxPacketSize = 0x0200 bInterval = 0x0000 bRefresh = 0x0000 bSynchAddress = 0x0000
-
The important part appears to be this though:
Configuration index 3 bLength = 0x0009 bDescriptorType = 0x0002 wTotalLength = 0x0075 bNumInterfaces = 0x0003 bConfigurationValue = 0x0004 iConfiguration = 0x0008 <PTP + Apple Mobile Device + Apple USB Ethernet> bmAttributes = 0x00c0 bMaxPower = 0x00fa
It needs to be using index 3. Try:
usbconfig -d ugen4.2 set_config 3
Steve
-
@eiger3970 said in IPhone Tethering to pfSense:
idVendor = 0x05ac
idProduct = 0x12a8That looks like it should be recognised as an iphone5 actually:
https://github.com/pfsense/FreeBSD-src/blob/RELENG_2_4_4/sys/dev/usb/usbdevs#L1168 -
Oh wow!
pfSense GUI > Interfaces > Interface Assignments > shows Available network ports: ue0I will try to follow a GUI guide now for the final setup.
Yes, the USB device is an iPhone 5C.
'It' needs to be using index 3...is it referring to the iPhone or pfSense?
-
Ok, pfSense reboot needs the setup run each time. I won't be rebooting the router much, so that's ok, until perhaps the kernel module if_ipheth.ko udates the code?
I.e.:
usbconfig -d ugen4.2 set_config 3.So, running the GUI:
pfSense 2.4.4-RELEASE-p2 > Interfaces > Assignments > Add ue0 (Ma:cA:dd:re:ss:00) > OPT1 ue0 appears > Save > Interfaces > OPT1 > General Configuration > Enable: tick Enable interface > IPv4 Configuration Type: DHCP > Save > Apply Changes > System > Routing > Gateways > OPT1_DHCP should be Default > pfSense shell: netstat -r > Enter > problem as ue0 is in Internet 6 and not in Internet? -
If it helps, here are my network topologies from Ethernet modem to USB modem.
Ethernet modem:
USB modem:
Perhaps the USB modem topology needs the net0 = vmbr1 to be updated to OPT1 = vmbr1?
-
Ok great if config index 3 works you can have that set every time at boot using a usb quirk
https://www.freebsd.org/cgi/man.cgi?query=usb_quirkAdd to /boot/loader.conf.local:
hw.usb.quirk.0="0x05ac 0x12a8 0 0xffff UQ_CFG_INDEX_3"
There real issue with this type of setup is that if the phone switches off or is unplugged or in some other way is no longer present and you reboot pfSense it will fail to boot. It will stop at the interfaces assign screen because it has ue0 in it's config and it isn't there.
Steve
-
Thank you, that works after a reboot.
I updated file /boot/loader.conf, there was not file /boot/loader.conf.local.So, the final thing is configuring pfSense GUI to pass data.
Interfaces > Assignments > OPT1 ue0 (53:f9:38:33:18:4f).
Interfaces > OPT > Enabled interface. IPv4 Configuration Type: DHCP.
System > Routing > Gateways > OPT1_DHCP is Default (IPv4).
Dashboard > Interfaces > OPT1 > green up arrow with IP 0.0.0.0. -
Yeah, you will have to create the .local file but you should put both lines in there. The standard loader.conf file can be overwritten by changes in pfSense.
If it's not pulling an IP address that would seem to be some setting in the iphone. Is tethering actually enabled there?
Does it work as a wireless hotspot?Steve
-
Oh, thank you.
Done.Tethering is enabled. No wifi on the hypervisor.
I'll check the hardware tomorrow.[2.4.4-RELEASE][admin@pfSense.localdomain]/boot: netstat -r Routing tables Internet: Destination Gateway Flags Netif Expire 0.0.0.0/8 link#1 U vtnet0 localhost link#4 UH lo0 192.168.1.0/24 link#2 U vtnet1 pfSense link#2 UHS lo0 Internet6: Destination Gateway Flags Netif Expire localhost link#4 UH lo0 fe80::%vtnet0/64 link#1 U vtnet0 fe80::4063:7cff:fe link#1 UHS lo0 fe80::%vtnet1/64 link#2 U vtnet1 fe80::a42d:d5ff:fe link#2 UHS lo0 fe80::%lo0/64 link#4 U lo0 fe80::1%lo0 link#4 UHS lo0 fe80::%ue0/64 link#7 U ue0 fe80::5cf9:38ff:fe link#7 UHS lo0
-
Yeah just to check the iphone is capable of doing this. Maybe connect it to something else, a laptop.
-
Yes, the iPhone is capable of providing tethered internet via USB.
The iPhone tethering worked on other machines previously, however I wanted to triple check before this response.There's something in the pfSense configuration I don't know needs to be done?
According to post 6, point 8, the Default Gateway should be in IPv4, not IPv6 in my case. -
Is it giving you an IP address now? You won't have a gateway on the iphone at all until it responds to dhcp.
-
OPT1 IP address 0.0.0.0.
On the iPhone, I do what I do to make the USB tether work on other machines.
iPhone > passcode > Settings > Hotspot > turn on > Enable USB: yes.[2.4.4-RELEASE][root@pfSense.localdomain]/root: netstat -r Routing tables Internet: Destination Gateway Flags Netif Expire 0.0.0.0/8 link#1 U vtnet0 localhost link#4 UH lo0 192.168.1.0/24 link#2 U vtnet1 pfSense link#2 UHS lo0 Internet6: Destination Gateway Flags Netif Expire localhost link#4 UH lo0 fe80::%vtnet0/64 link#1 U vtnet0 fe80::4063:7cff:fe link#1 UHS lo0 fe80::%vtnet1/64 link#2 U vtnet1 fe80::a42d:d5ff:fe link#2 UHS lo0 fe80::%lo0/64 link#4 U lo0 fe80::1%lo0 link#4 UHS lo0 fe80::%ue0/64 link#7 U ue0 fe80::5cf9:38ff:fe link#7 UHS lo0
-
Hit renew/release on Status > Interfaces after doing that on the phone maybe?
I would probably run a packet capture on ue0 and hit renew and see it anything is happening.
Also check the dhcp logs for dhclient entries, you see an error there.
Steve
-
pfSense > Diagnostics > Packet Capture > Interface: WAN2 > Start > Status > Interfaces > WAN2 > DHCP: Release > DHCP: renew > Diagnostics > Packet Capture > Interface: WAN > Stop > View Capture.
16:32:42.061530 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:32:47.074104 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:32:47.074108 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:32:52.105408 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:32:52.105412 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:32:57.155403 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:33:02.175405 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:33:11.088430 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:33:30.070614 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:33:43.170645 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300
pfSense > Status > System Logs > DHCP > no errors, only data from 20200226.
Feb 26 20:37:25 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:37:26 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:37:27 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:37:28 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:37:29 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:37:30 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:37:32 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:37:34 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Feb 26 20:37:39 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 10 Feb 26 20:37:49 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 18 Feb 26 20:38:01 dhclient FAIL Feb 26 20:38:07 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 12 Feb 26 20:38:19 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 7 Feb 26 20:38:26 dhclient 80005 No DHCPOFFERS received. Feb 26 20:38:26 dhclient 80005 No working leases in persistent database - sleeping. Feb 26 20:38:26 dhclient FAIL Feb 26 20:38:41 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:38:42 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:38:43 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:38:45 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:38:47 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Feb 26 20:38:52 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 7 Feb 26 20:38:59 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 15 Feb 26 20:39:14 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 19 Feb 26 20:39:17 dhclient FAIL Feb 26 20:39:33 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 9 Feb 26 20:39:42 dhclient 80005 No DHCPOFFERS received. Feb 26 20:39:42 dhclient 80005 No working leases in persistent database - sleeping. Feb 26 20:39:42 dhclient FAIL Feb 26 20:39:57 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:39:58 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:40:00 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Feb 26 20:40:05 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Feb 26 20:40:10 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 13 Feb 26 20:40:23 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 15 Feb 26 20:40:34 dhclient FAIL Feb 26 20:40:38 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 12 Feb 26 20:40:50 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 7 Feb 26 20:40:57 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:40:58 dhclient 80005 No DHCPOFFERS received. Feb 26 20:40:58 dhclient 80005 No working leases in persistent database - sleeping. Feb 26 20:40:58 dhclient FAIL Feb 26 20:41:13 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:41:14 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:41:15 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 1 Feb 26 20:41:16 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 2 Feb 26 20:41:18 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 5 Feb 26 20:41:23 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 6 Feb 26 20:41:29 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 10 Feb 26 20:41:39 dhclient 80005 DHCPDISCOVER on ue0 to 255.255.255.255 port 67 interval 17
-
Hmm, so it looks like the phone is just not responding. Did you test it with a different device?
Maybe it needs some other setting.
-
Yes, the USB tether works fine on other machines.
-
Hmm, well maybe the fact we are having to force the config index is because it should be triggered to use USB Ethernet some other way and that also starts it's DHCP server.
Are you able to connect it to a Linux device and check the logs it produces? Assuming it works there that is...
-
The logs of the iPhone.
I have and can connect to Linux machines, works quite easily.
I would have to connect the phone to a Mac to see phone logs.I'm wondering if I should be tethering the phone to the hypervisor/host machine and then the guest machine will receive internet from the hypervisor. This might need a NAT?
-
I meant the logs from Linux to see if the driver there is doing something different when it connects.
You could certainly do it via the hypervisor and it might remove some of the other issues as pfSense would not lose its interface entirely when the phone goes away.
Steve
-
I turned the phone's hotspot off and on and now pfSense > Dashboard > Interfaces > WAN2 > shows IP 172.20.10.2, however no internet?
I ran a packet capture on WAN2 and released and renewed pfSense's DHCP:16:29:41.253535 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1579, length 8 16:29:41.254302 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1579, length 8 16:29:41.794815 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1580, length 8 16:29:41.795543 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1580, length 8 16:29:42.318548 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1581, length 8 16:29:42.319277 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1581, length 8 16:29:42.859812 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1582, length 8 16:29:42.860532 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1582, length 8 16:29:43.401119 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1583, length 8 16:29:43.401873 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1583, length 8 16:29:43.918606 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1584, length 8 16:29:43.919366 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1584, length 8 16:29:44.459820 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1585, length 8 16:29:44.460529 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1585, length 8 16:29:45.001220 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1586, length 8 16:29:45.001877 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1586, length 8 16:29:45.518565 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1587, length 8 16:29:45.519381 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1587, length 8 16:29:46.049059 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1588, length 8 16:29:46.049776 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1588, length 8 16:29:46.568677 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1589, length 8 16:29:46.569426 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1589, length 8 16:29:47.109973 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1590, length 8 16:29:47.110758 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1590, length 8 16:29:47.651276 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1591, length 8 16:29:47.652016 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1591, length 8 16:29:48.181561 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1592, length 8 16:29:48.182337 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1592, length 8 16:29:48.718567 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1593, length 8 16:29:48.719342 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1593, length 8 16:29:49.259824 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1594, length 8 16:29:49.260599 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1594, length 8 16:29:49.785768 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1595, length 8 16:29:49.786541 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1595, length 8 16:29:50.318557 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1596, length 8 16:29:50.319340 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1596, length 8 16:29:50.859828 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1597, length 8 16:29:50.860607 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1597, length 8 16:29:51.401151 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1598, length 8 16:29:51.401926 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1598, length 8 16:29:51.918886 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1599, length 8 16:29:51.919665 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1599, length 8 16:29:52.459833 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1600, length 8 16:29:52.460594 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1600, length 8 16:29:53.001153 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1601, length 8 16:29:53.001907 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1601, length 8 16:29:57.281694 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:29:59.341982 IP 0.0.0.0.68 > 255.255.255.255.67: UDP, length 300 16:29:59.383330 IP 172.20.10.1.67 > 172.20.10.2.68: UDP, length 300 16:29:59.391820 ARP, Request who-has 172.20.10.2 tell 172.20.10.2, length 28 16:29:59.883076 ARP, Request who-has 172.20.10.1 tell 172.20.10.2, length 28 16:29:59.883793 ARP, Reply 172.20.10.1 is-at 7e:f9:38:ee:ce:64, length 28 16:29:59.883836 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1614, length 8 16:29:59.884565 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1614, length 8 16:30:00.418535 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 47792, seq 1615, length 8 16:30:00.419221 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 47792, seq 1615, length 8 16:30:00.800191 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 0, length 8 16:30:00.800921 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 0, length 8 16:30:01.320464 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 1, length 8 16:30:01.321142 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 1, length 8 16:30:01.853541 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 2, length 8 16:30:01.854420 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 2, length 8 16:30:02.394845 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 3, length 8 16:30:02.395598 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 3, length 8 16:30:02.918806 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 4, length 8 16:30:02.919570 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 4, length 8 16:30:03.449284 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 5, length 8 16:30:03.449999 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 5, length 8 16:30:03.968633 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 6, length 8 16:30:03.969444 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 6, length 8 16:30:04.509950 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 7, length 8 16:30:04.510678 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 7, length 8 16:30:05.051238 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 8, length 8 16:30:05.052120 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 8, length 8 16:30:05.568613 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 9, length 8 16:30:05.569395 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 9, length 8 16:30:06.109993 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 10, length 8 16:30:06.110784 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 10, length 8 16:30:06.651241 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 11, length 8 16:30:06.651907 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 11, length 8 16:30:07.171143 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 12, length 8 16:30:07.171940 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 12, length 8 16:30:07.712493 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 13, length 8 16:30:07.713222 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 13, length 8 16:30:08.253743 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 14, length 8 16:30:08.254494 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 14, length 8 16:30:08.768615 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 15, length 8 16:30:08.769382 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 15, length 8 16:30:09.309920 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 16, length 8 16:30:09.310669 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 16, length 8 16:30:09.851250 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 17, length 8 16:30:09.851977 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 17, length 8 16:30:10.392516 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 18, length 8 16:30:10.393279 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 18, length 8 16:30:10.918515 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 19, length 8 16:30:10.919171 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 19, length 8 16:30:11.432195 IP 172.20.10.2 > 172.20.10.1: ICMP echo request, id 24226, seq 20, length 8 16:30:11.432847 IP 172.20.10.1 > 172.20.10.2: ICMP echo reply, id 24226, seq 20, length 8
-
Ok, that looks good. The ICMP traffic is all the gateway monitoring pings. The DHCP traffic looks correct.
Try running a pcap that excludes ICMP and the attempt to connect out. You might set more than 100 packets to capture it all.
Steve