Git Product home page Git Product logo

horndis's Introduction

HoRNDIS(the USB tethering driver for Mac OS X)

HoRNDIS (pronounce: "horrendous") is a driver for Mac OS X that allows you to use your Android phone's native USB tethering mode to get Internet access.

For more information, visit the home page for HoRNDIS on my site.

Installation

From Source/Binary

  • Get the installation package (Download or Build the installation package from source yourself)
  • Run the installation package

From Homebrew

brew cask install horndis
sudo kextload /Library/Extensions/HoRNDIS.kext

Configuration

  • Assuming that the installation proceeds without errors, after it completes, connect your phone to your Mac by USB.
  • Enter the settings menu on your phone.
  • In the connections section, below Wi-Fi and Bluetooth:
    • Select "More..."
    • Select "Tethering & portable hotspot"
  • Check the "USB tethering" box. It should flash once, and then become solidly checked.

Uninstallation

  • Delete the HoRNDIS.kext under /System/Library/Extensions and /Library/Extensions folder
  • Restart your computer

Building the source

  • git clone the repository
  • Simply running xcodebuild in the checkout directory should be sufficient to build the kext.
  • If you wish to package it up, you can run make to assemble the package in the build/ directory

Debugging and Development Notes

This sections contains tips and tricks for developing and debugging the driver.

USB Device Information

Mac OS System Menu -> About This Mac -> System Report --> Hardware/USB
Lists all USB devices that OS recognizes. Unfortunately, it does not give USB descriptors.

lsusb -v
It prints USB configuration, such as interface and endpoint descriptors. You can print it for all devices or limit the output to specific ones. In order to run this command, you need to install usbutils.

  • Homebrew users: brew install mikhailai/misc/usbutils
    Please do not install lsusb package from Homebrew Core, it's a different utility with the same name.
  • Macports users: sudo port install usbutils

IO Registry

ioreg -l -r -c IOUSBHostDevice
This command lists all the Mac OS IO Registry information under all USB devices. Unlike lsusb, ioreg tells how Mac OS recognized USB devices and interfaces, and how it matched drivers to these interfaces. The -r -c IOUSBHostDevice limits the output to USB devices; to get complete OS registry, please run ioreg -l.

OS Logging

The LOG(....) statements, sprinkled throughout the HoRNDIS code, call the IOLog functions. On Mac OS El Capitan (10.11) and earlier, the log messages go into /var/log/system.log. Starting from Sierra (10.12), these messages are no longer written to system.log and instead can be viewed via:

  • GUI, using Console application, located in Utilities folder. You need to enter process:kernel in the search box in order to filter the relevant messages.
  • Command Line, using the log command. For example:
    log show --predicate process==\"kernel\" --start "2018-12-11 22:54:00"
    The start value needs to be several minutes in the past, so it would not flood the console. Here is a convenient command that prints the messages from the past 3 mintes:
    log show --predicate process==\"kernel\" --start "$(date -v-3M +'%F %T')"

I've observed that Mac OS logging is unreliable (especially in Sierra). In some cases, the messages may come out garbled (looking like bad multi-threaded code). In other cases, either GUI or Command Line may be missing messages that were emitted. Sometimes, reloading the driver may fix the problem.

horndis's People

Contributors

d235j avatar danyocom avatar ecbrodie avatar githubutilities avatar jwise avatar mikhailai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

horndis's Issues

Kernel Panic Report

Hi Joshua, thanks for an awesome plugin. I wish I had an iPhone, but your plugin makes it tolerable.

Hit this kpanic today, first time after months of use. Thought you might be interested in it though. From time-to-time, I need to switch things off with AT&T LTE to get data flowing, but this time it got wacky.

Interval Since Last Panic Report: 1802320 sec
Panics Since Last Report: 1
Anonymous UUID: CB9F7CA6-D60F-EBCF-BB7A-662D1CC848B7

Sat Aug 3 14:32:19 2013
panic(cpu 2 caller 0xffffff8029eb8655): Kernel trap at 0xffffff7fac35e8f7, type 14=page fault, registers:
CR0: 0x0000000080010033, CR2: 0x0000000000000000, CR3: 0x0000000011000008, CR4: 0x00000000001606e0
RAX: 0x0000000000000030, RBX: 0xffffff8057327000, RCX: 0xffffff802a4903b0, RDX: 0xffffff804e14d8e0
RSP: 0xffffff822a823a20, RBP: 0xffffff822a823a60, RSI: 0xffffff804e14d8ec, RDI: 0x0000000000000000
R8: 0x0000000000000001, R9: 0x00000000000003ff, R10: 0xffffffffffffffff, R11: 0x00000000ffffffff
R12: 0x0000000000000000, R13: 0xffffff804d42c000, R14: 0x0000000000000156, R15: 0x0000000000000000
RFL: 0x0000000000010246, RIP: 0xffffff7fac35e8f7, CS: 0x0000000000000008, SS: 0x0000000000000010
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000000, Fault CPU: 0x2

Backtrace (CPU 2), Frame : Return Address
0xffffff822a8236c0 : 0xffffff8029e1d626
0xffffff822a823730 : 0xffffff8029eb8655
0xffffff822a823900 : 0xffffff8029ece17d
0xffffff822a823920 : 0xffffff7fac35e8f7
0xffffff822a823a60 : 0xffffff7faac50aed
0xffffff822a823aa0 : 0xffffff7faac508a7
0xffffff822a823b00 : 0xffffff7faac50a4f
0xffffff822a823b40 : 0xffffff8029f3a4fa
0xffffff822a823c60 : 0xffffff8029f2a0c0
0xffffff822a823d00 : 0xffffff8029f2010d
0xffffff822a823d70 : 0xffffff8029f11c32
0xffffff822a823dd0 : 0xffffff8029f07e99
0xffffff822a823e40 : 0xffffff802a176f69
0xffffff822a823ef0 : 0xffffff802a176e77
0xffffff822a823f50 : 0xffffff802a1e16aa
0xffffff822a823fb0 : 0xffffff8029ece9c3
Kernel Extensions in backtrace:
com.apple.iokit.IONetworkingFamily(3.0)[F02560D1-ADE6-3AD9-8D05-43CB2B7C8B87]@0xffffff7faac40000->0xffffff7faac6afff
com.joshuawise.kexts.HoRNDIS(1.0d1)[2E2E604C-EA2A-3CD0-9DFE-1E694BB1CC60]@0xffffff7fac35d000->0xffffff7fac362fff
dependency: com.apple.iokit.IONetworkingFamily(3.0)[F02560D1-ADE6-3AD9-8D05-43CB2B7C8B87]@0xffffff7faac40000
dependency: com.apple.iokit.IOUSBFamily(5.6.0)[065077C5-A49E-3C52-BDC0-60169E293563]@0xffffff7faac7f000

BSD process name corresponding to current thread: configd

Mac OS version:
12E55

Kernel version:
Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64
Kernel UUID: 896CB1E3-AB79-3DF1-B595-549DFFDF3D36
Kernel slide: 0x0000000029c00000
Kernel text base: 0xffffff8029e00000
System model name: MacBookPro9,1 (Mac-4B7AC7E43945597E)

System uptime in nanoseconds: 31052679989527
last loaded kext at 31046984903170: com.apple.driver.AppleUSBCDCECMData 4.1.23 (addr 0xffffff7fac36e000, size 28672)
last unloaded kext at 31019907709648: com.apple.driver.AppleUSBCDC 4.1.23 (addr 0xffffff7fac2f2000, size 12288)
loaded kexts:
com.joshuawise.kexts.HoRNDIS 1.0.0d1
com.apple.driver.AppleUSBCDCECMData 4.1.23
com.apple.driver.AppleUSBCDCACMData 4.1.23
com.apple.driver.AppleUSBCDC 4.1.23
com.apple.driver.AppleBluetoothMultitouch 75.19
com.apple.filesystems.afpfs 10.0
com.apple.nke.asp_tcp 7.1.0
com.apple.driver.AppleHWSensor 1.9.5d0
com.apple.driver.AudioAUUC 1.60
com.apple.iokit.IOBluetoothSerialManager 4.1.4f2
com.apple.filesystems.autofs 3.0
com.apple.driver.AGPM 100.12.87
com.apple.driver.X86PlatformShim 1.0.0
com.apple.driver.AppleMikeyHIDDriver 122
com.apple.iokit.IOUserEthernet 1.0.0d1
com.apple.driver.AppleHDA 2.3.7fc4
com.apple.driver.AppleUpstreamUserClient 3.5.10
com.apple.GeForce 8.1.2
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport 4.1.4f2
com.apple.driver.ApplePolicyControl 3.4.5
com.apple.driver.AppleIntelHD4000Graphics 8.1.2
com.apple.driver.AppleSMCPDRC 1.0.0
com.apple.driver.SMCMotionSensor 3.0.3d1
com.apple.driver.AppleSMCLMU 2.0.3d0
com.apple.driver.AppleMikeyDriver 2.3.7fc4
com.apple.driver.AppleIntelFramebufferCapri 8.1.2
com.apple.driver.AppleLPC 1.6.0
com.apple.driver.AppleMuxControl 3.4.5
com.apple.driver.AppleMCCSControl 1.1.11
com.apple.driver.AppleUSBTCButtons 237.1
com.apple.driver.AppleIRController 320.15
com.apple.driver.AppleUSBTCKeyboard 237.1
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.BootCache 34
com.apple.iokit.SCSITaskUserClient 3.5.5
com.apple.driver.XsanFilter 404
com.apple.iokit.IOAHCIBlockStorage 2.3.1
com.apple.driver.AppleUSBHub 5.5.5
com.apple.driver.AppleSDXC 1.4.2
com.apple.iokit.AppleBCM5701Ethernet 3.6.1b4
com.apple.driver.AirPort.Brcm4331 615.20.17
com.apple.driver.AppleFWOHCI 4.9.6
com.apple.driver.AppleAHCIPort 2.5.2
com.apple.driver.AppleUSBEHCI 5.5.0
com.apple.driver.AppleUSBXHCI 5.6.0
com.apple.driver.AppleIntelCPUPowerManagementClient 196.0.0
com.apple.driver.AppleEFINVRAM 1.7
com.apple.driver.AppleACPIButtons 1.7
com.apple.driver.AppleSmartBatteryManager 161.0.0
com.apple.driver.AppleRTC 1.5
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleSMBIOS 1.9
com.apple.driver.AppleACPIEC 1.7
com.apple.driver.AppleAPIC 1.6
com.apple.nke.applicationfirewall 4.0.39
com.apple.security.quarantine 2.1
com.apple.driver.AppleIntelCPUPowerManagement 196.0.0
com.apple.driver.AppleUSBCDCACMControl 4.1.23
com.apple.driver.IOBluetoothHIDDriver 4.1.4f2
com.apple.driver.AppleMultitouchDriver 235.29
com.apple.security.SecureRemotePassword 1.0
com.apple.iokit.IOSerialFamily 10.0.6
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 2.3.7fc4
com.apple.iokit.IOAudioFamily 1.8.9fc11
com.apple.kext.OSvKernDSPLib 1.6
com.apple.iokit.IOSurface 86.0.4
com.apple.nvidia.gk100hal 8.1.2
com.apple.NVDAResman 8.1.2
com.apple.iokit.IOBluetoothFamily 4.1.4f2
com.apple.iokit.AppleBluetoothHCIControllerUSBTransport 4.1.4f2
com.apple.iokit.IOFireWireIP 2.2.5
com.apple.iokit.IOAcceleratorFamily 74.5.1
com.apple.driver.AppleSMBusPCI 1.0.11d0
com.apple.driver.AppleHDAController 2.3.7fc4
com.apple.iokit.IOHDAFamily 2.3.7fc4
com.apple.driver.X86PlatformPlugin 1.0.0
com.apple.driver.AppleSMC 3.1.4d2
com.apple.driver.IOPlatformPluginFamily 5.3.0d51
com.apple.driver.AppleGraphicsControl 3.4.5
com.apple.driver.AppleBacklightExpert 1.0.4
com.apple.iokit.IONDRVSupport 2.3.7
com.apple.driver.AppleSMBusController 1.0.11d0
com.apple.iokit.IOGraphicsFamily 2.3.7
com.apple.driver.AppleUSBMultitouch 237.3
com.apple.iokit.IOUSBHIDDriver 5.2.5
com.apple.driver.AppleThunderboltDPInAdapter 1.8.9
com.apple.driver.AppleThunderboltDPAdapterFamily 1.8.9
com.apple.driver.AppleThunderboltPCIDownAdapter 1.2.6
com.apple.driver.AppleUSBMergeNub 5.5.5
com.apple.driver.AppleUSBComposite 5.2.5
com.apple.driver.CoreStorage 296.16.1
com.apple.iokit.IOSCSIMultimediaCommandsDevice 3.5.5
com.apple.iokit.IOBDStorageFamily 1.7
com.apple.iokit.IODVDStorageFamily 1.7.1
com.apple.iokit.IOCDStorageFamily 1.7.1
com.apple.driver.AppleThunderboltNHI 1.7.8
com.apple.iokit.IOThunderboltFamily 2.4.0
com.apple.iokit.IOAHCISerialATAPI 2.5.1
com.apple.iokit.IOSCSIArchitectureModelFamily 3.5.5
com.apple.iokit.IOEthernetAVBController 1.0.2b1
com.apple.iokit.IO80211Family 530.4
com.apple.iokit.IONetworkingFamily 3.0
com.apple.iokit.IOFireWireFamily 4.5.5
com.apple.iokit.IOUSBUserClient 5.5.5
com.apple.iokit.IOAHCIFamily 2.3.1
com.apple.iokit.IOUSBFamily 5.6.0
com.apple.driver.AppleEFIRuntime 1.7
com.apple.iokit.IOHIDFamily 1.8.1
com.apple.iokit.IOSMBusFamily 1.1
com.apple.security.sandbox 220.3
com.apple.kext.AppleMatch 1.0.0d1
com.apple.security.TMSafetyNet 7
com.apple.driver.DiskImages 345
com.apple.iokit.IOStorageFamily 1.8
com.apple.driver.AppleKeyStore 28.21
com.apple.driver.AppleACPIPlatform 1.7
com.apple.iokit.IOPCIFamily 2.7.3
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.corecrypto 1.0
Model: MacBookPro9,1, BootROM MBP91.00D3.B08, 4 processors, Intel Core i7, 2.3 GHz, 16 GB, SMC 2.1f173
Graphics: Intel HD Graphics 4000, Intel HD Graphics 4000, Built-In, 384 MB
Graphics: NVIDIA GeForce GT 650M, NVIDIA GeForce GT 650M, PCIe, 512 MB
Memory Module: BANK 0/DIMM0, 8 GB, DDR3, 1600 MHz, 0x857F, 0x483634314755363747313630304700000000
Memory Module: BANK 1/DIMM0, 8 GB, DDR3, 1600 MHz, 0x857F, 0x483634314755363747313630304700000000
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xF5), Broadcom BCM43xx 1.0 (5.106.98.100.17)
Bluetooth: Version 4.1.4f2 12041, 2 service, 18 devices, 1 incoming serial ports
Network Service: SAMSUNG_Android 2, Ethernet, en3
Serial ATA Device: INTEL SSDSC2CW180A3, 180.05 GB
Serial ATA Device: MATSHITADVD-R UJ-8A8
USB Device: hub_device, 0x8087 (Intel Corporation), 0x0024, 0x1a100000 / 2
USB Device: FaceTime HD Camera (Built-in), apple_vendor_id, 0x8509, 0x1a110000 / 3
USB Device: hub_device, 0x8087 (Intel Corporation), 0x0024, 0x1d100000 / 2
USB Device: SAMSUNG_Android, 0x04e8 (Samsung Electronics Co., Ltd.), 0x6864, 0x1d110000 / 7
USB Device: hub_device, 0x0424 (SMSC), 0x2513, 0x1d180000 / 3
USB Device: BRCM20702 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0x1d181000 / 6
USB Device: Bluetooth USB Host Controller, apple_vendor_id, 0x821d, 0x1d181300 / 10
USB Device: IR Receiver, apple_vendor_id, 0x8242, 0x1d182000 / 5
USB Device: Apple Internal Keyboard / Trackpad, apple_vendor_id, 0x0252, 0x1d183000 / 4

USB reverse tethering fails under OS X Yosemite 10.10.5

Awesome piece of code here. Using release 7 of HoRNDIS, I have a Nexus 4 with Cyanogenmod (Android 4.4.4) successfully configured in a "USB reverse-tether" configuration so my USB-connected phone gets network access through the wifi on a MacBook running OS X Mavericks (10.9.5).

I tried the same USB reverse-tether configuration on a MacBook Pro running 10.10.5 and release 7, but have been unable to replicate the success I had with OS X 10.9.5. In Console.app on the 10.10.5 machine I see:

`2/17/16 10:49:36.000 PM kernel[0]: USBF: 28124.225 AppleUSBEHCI::Found a transaction which hasn't moved in 5000 milliseconds on bus 0x1d, timing out! (Addr: 5, EP: 0)

2/17/16 10:49:37.000 PM kernel[0]: AppleUSBMultitouchDriver::message - kIOUSBMessagePortHasBeenReset.

2/17/16 10:49:37.000 PM kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized

2/17/16 10:49:37.000 PM kernel[0]: AppleUSBMultitouchDriver::_deviceSetReport - DeviceRequest for reportID 0xac returned with result 0xe000404f - retrying

2/17/16 10:49:37.798 PM hidd[101]: MultitouchHID: device bootloaded

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: rndisInit: their MTU 1486

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500. Good try, buddy.

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: init: starting up with MTU 1486

2/17/16 10:49:38.000 PM kernel[0]: en7: attached with 4 suspended link-layer multicast membership(s)

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: message: kIOMessageServiceWasClosed

2/17/16 10:49:38.000 PM kernel[0]: en7: failed to restore 4 suspended link-layer multicast membership(s) (err=102)

2/17/16 10:49:38.000 PM kernel[0]: bridge101: attached with 4 suspended link-layer multicast membership(s)

2/17/16 10:49:38.000 PM kernel[0]: en7: promiscuous mode enable succeeded

2/17/16 10:49:38.536 PM InternetSharing[364]: BCAST is ready [en6, mtu=1500 ]

2/17/16 10:49:38.537 PM InternetSharing[364]: removed addr=fe80::c888:d6ff:fe81:1f8b on en7

2/17/16 10:49:38.537 PM InternetSharing[364]: added addr=192.168.2.1 mask=255.255.255.0 on bridge101

2/17/16 10:49:38.000 PM kernel[0]: bridge101: successfully restored 4 suspended link-layer multicast membership(s) (err=0)

2/17/16 10:49:38.541 PM InternetSharing[364]: started: [DHCP subnet=192.168.2/24 on bridge101 mtu=1486 <---> en6 mtu=1500] max-mss=1446

2/17/16 10:49:38.541 PM InternetSharing[364]: dns: 192.168.2.1

2/17/16 10:49:38.549 PM InternetSharing[364]: en6, started "natpmpd"

2/17/16 10:49:38.568 PM InternetSharing[364]: attempted to start dns proxy on en6

2/17/16 10:49:38.568 PM InternetSharing[364]: configd: com.apple.NetworkSharing.broadcast-14 has been started

2/17/16 10:49:38.571 PM mDNSResponder[90]: SetupDNSProxySkts: 55, 56, 63, 64

2/17/16 10:49:38.571 PM InternetSharing[364]: dns proxy successfully enabled

2/17/16 10:49:38.000 PM kernel[0]: 0 1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed

2/17/16 10:49:38.000 PM kernel[0]: 0 1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen

2/17/16 10:49:38.000 PM kernel[0]: HoRNDIS: message: kIOMessageServiceWasClosed

2/17/16 10:49:39.601 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:39.601 PM configd[49]: DHCP en7: SELECT transmit failed

2/17/16 10:49:40.674 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:40.674 PM configd[49]: DHCP en7: SELECT transmit failed

2/17/16 10:49:42.750 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:42.750 PM configd[49]: DHCP en7: SELECT transmit failed

2/17/16 10:49:46.750 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:46.751 PM configd[49]: DHCP en7: SELECT transmit failed

2/17/16 10:49:54.816 PM configd[49]: inet_set_autoaddr(en7, 1) failed, Resource busy (16)

2/17/16 10:49:54.817 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:54.817 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:49:55.981 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:55.982 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:49:58.795 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:49:58.795 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:03.818 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:50:03.818 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:12.404 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Device not configured (6)

2/17/16 10:50:12.404 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:12.406 PM configd[49]: arp_client_transmit(en7) failed, Network is down (50)

2/17/16 10:50:21.035 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)

2/17/16 10:50:21.036 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:29.813 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)

2/17/16 10:50:29.814 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:38.128 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)

2/17/16 10:50:38.128 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:46.367 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)

2/17/16 10:50:46.367 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:50:54.613 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)

2/17/16 10:50:54.613 PM configd[49]: DHCP en7: INIT transmit failed

2/17/16 10:52:03.506 PM configd[49]: inet_set_autoaddr(en7, 1) failed, Resource busy (16)

2/17/16 10:52:03.506 PM configd[49]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en7) failed: Network is down (50)
`

If I try to do a "normal" tether from the laptop through the phone, that seems to work fine: the "Nexus 4" shows up as "Connected" in the Network preference pane and I can ping from the phone to the laptop and back. Only when I then go to the Sharing preference pane and try to enable "Internet Sharing" from "Wi-Fi" to "Nexus 4" do things go south.

I was following http://www.androidjunkies.com/how-to-use-internet-via-usb-reverse-tethering-linux-and-mac-ver/ and when I run "netcfg usb0 dhcp" it eventually times out. I tried manually setting the usb0 interface on the phone to 192.168.2.2 (along with a default route) but still couldn't ping through.

Has anyone else encountered this behavior?

RmNet support?

Okay, we left things with nothing working here.

Next step(s)?

Sierra Support?

I want to report that installing driver under sierra works. It shows in System Preferences -> Network as
"Multifunction Composite Gadget" but when I try to share connection to my Udoo Neo Full board it does not work. My sharing is Wifi to "Multifunction Composite Gadget".

Here is output from Console filtered on NDIS with sharing disabled

default 14:11:11.148987 -0500 kernel HoRNDIS: rndisSetPacketFilter: SET not successful?
default 14:11:11.149108 -0500 kernel HoRNDIS: message: kIOMessageServiceIsTerminated
default 14:11:25.557729 -0500 kernel HoRNDIS: init: HoRNDIS tethering driver for Mac OS X, by Joshua Wise (rel8 final)
default 14:11:25.557748 -0500 kernel HoRNDIS: probe: probe: came in with a score of 60000
default 14:11:25.557904 -0500 kernel HoRNDIS: message: unknown message type e000401f
default 14:11:25.557944 -0500 kernel HoRNDIS: message: unknown message type e0000230
default 14:11:25.558182 -0500 kernel HoRNDIS: probe: probe: looks like we're good (2/2/255)
default 14:11:25.560639 -0500 kernel HoRNDIS: message: unknown message type e0004022
default 14:11:25.590748 -0500 kernel HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
default 14:11:25.591291 -0500 kernel HoRNDIS: openInterfaces: data interface: okay, I got one, and it was a 0x0a/0x00/0x00
default 14:11:25.591299 -0500 kernel HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
default 14:11:25.592237 -0500 kernel HoRNDIS: rndisInit: their MTU 1486
default 14:11:25.592580 -0500 kernel HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500. Good try, buddy.
default 14:11:25.592596 -0500 kernel HoRNDIS: init: starting up with MTU 1486

One thing is that I can ssh to my Udoo Neo board from my mac just fine. As soon sharing is enabled I can't ssh and my en9 interface on my Mac is never activated.

Here is output from Mac Console app after:

  1. sharing was enabled
  2. On Udoo board en9 was set to dhcp on boot

default 14:29:18.285758 -0500 kernel HoRNDIS: rndisCommand: unsupported: RNDIS_MSG_INDICATE
default 14:29:42.779514 -0500 kernel HoRNDIS: enable: setting up the pipes failed
default 14:29:43.881392 -0500 kernel HoRNDIS: message: kIOMessageServiceIsTerminated
default 14:29:56.845687 -0500 kernel HoRNDIS: init: HoRNDIS tethering driver for Mac OS X, by Joshua Wise (rel8 final)
default 14:29:56.845706 -0500 kernel HoRNDIS: probe: probe: came in with a score of 60000
default 14:29:56.845971 -0500 kernel HoRNDIS: message: unknown message type e000401f
default 14:29:56.846010 -0500 kernel HoRNDIS: message: unknown message type e0000230
default 14:29:56.846140 -0500 kernel HoRNDIS: probe: probe: looks like we're good (2/2/255)
default 14:29:56.849304 -0500 kernel HoRNDIS: message: unknown message type e0004022
default 14:29:56.880039 -0500 kernel HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
default 14:29:56.880438 -0500 kernel HoRNDIS: openInterfaces: data interface: okay, I got one, and it was a 0x0a/0x00/0x00
default 14:29:56.880447 -0500 kernel HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
default 14:29:56.881424 -0500 kernel HoRNDIS: rndisInit: their MTU 1486
default 14:29:56.881744 -0500 kernel HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500. Good try, buddy.
default 14:29:56.881764 -0500 kernel HoRNDIS: init: starting up with MTU 1486
default 14:30:14.457844 -0500 kernel HoRNDIS: rndisCommand: unsupported: RNDIS_MSG_INDICATE
default 14:30:14.471638 -0500 kernel HoRNDIS: receivePacket: non-PACKET over data channel? (msg_type 00000000)

HorNDIS crashes mac on OSX 10.10

When running Yosemite, frequently when I toggle USB tethering my computer turns off. Not sure if there's any more info I can provide or if this is a known issue.

Thanks,
John

Spint in the way?

Mac running Lion, HTC EVO 4g on Sprint. The install went fine but trying to connect I get a Sprint popup about not having Hotspot as part of my plan.

Is this just not an option for me being on Sprint?

Doesn't work after installing official Android FIle Transfer Mac application

I'm just getting started with Android and a Mac, and installed HoRNDIS. It worked for tethering with no problem immediately.

Next I installed Android File Transfer on my Mac: http://www.android.com/filetransfer . Now the File Transfer dialog pops up and the network settings says my phone is not connected.

This is on a brand new Nexus 4 with Android 4.2.2 and Mac OS X 10.8.2.

I tried removing File Transfer and reinstalling HoRNDIS and it no longer can detect my Nexus.

Kernel Panic in 10.10

Anonymous UUID: 778D6A60-C3AC-9FF8-1B8F-BC5EF68B15FB

Thu May 21 00:29:12 2015

*** Panic Report ***
panic(cpu 3 caller 0xffffff8000417cc2): Kernel trap at 0xffffff800040b6c7, type 14=page fault, registers:
CR0: 0x0000000080010033, CR2: 0x0000000000000008, CR3: 0x000000013aae500e, CR4: 0x00000000001627e0
RAX: 0x000000000000060e, RBX: 0xffffff801b3dd000, RCX: 0x0000000000000600, RDX: 0x0000000000000000
RSP: 0xffffff80a8b939d0, RBP: 0xffffff80a8b939d0, RSI: 0xffffff80a47b0000, RDI: 0x0000000000000000
R8: 0x0000000000000000, R9: 0xffffff80005900a8, R10: 0xffffff80a8b9396c, R11: 0xffffff8000590080
R12: 0xffffff80a47b0000, R13: 0x0000000000000000, R14: 0x0000000000000156, R15: 0xffffff80a47b0000
RFL: 0x0000000000010297, RIP: 0xffffff800040b6c7, CS: 0x0000000000000008, SS: 0x0000000000000010
Fault CR2: 0x0000000000000008, Error code: 0x0000000000000000, Fault CPU: 0x3

Backtrace (CPU 3), Frame : Return Address
0xffffff80a8b93680 : 0xffffff800032bda1
0xffffff80a8b93700 : 0xffffff8000417cc2
0xffffff80a8b938c0 : 0xffffff8000434b73
0xffffff80a8b938e0 : 0xffffff800040b6c7
0xffffff80a8b939d0 : 0xffffff7f816f4757
0xffffff80a8b93a20 : 0xffffff7f80f48a40
0xffffff80a8b93a60 : 0xffffff7f80f48776
0xffffff80a8b93ad0 : 0xffffff7f80f489a2
0xffffff80a8b93b10 : 0xffffff80005a2cac
0xffffff80a8b93c50 : 0xffffff800058d1a3
0xffffff80a8b93ce0 : 0xffffff8000580cbb
0xffffff80a8b93d50 : 0xffffff800056f600
0xffffff80a8b93dd0 : 0xffffff8000564b5f
0xffffff80a8b93e40 : 0xffffff80007ecc05
0xffffff80a8b93ef0 : 0xffffff80007eca52
0xffffff80a8b93f50 : 0xffffff800084ba86
0xffffff80a8b93fb0 : 0xffffff8000435376
Kernel Extensions in backtrace:
com.apple.iokit.IONetworkingFamily(3.2)[247581D8-DFC5-3AAE-B079-3D13F5514C2B]@0xffffff7f80f37000->0xffffff7f80f69fff
com.joshuawise.kexts.HoRNDIS(6.0)[A615230B-182E-3BF9-B65B-A7947F2B34EF]@0xffffff7f816f2000->0xffffff7f816f8fff
dependency: com.apple.iokit.IONetworkingFamily(3.2)[247581D8-DFC5-3AAE-B079-3D13F5514C2B]@0xffffff7f80f37000
dependency: com.apple.iokit.IOUSBFamily(720.4.4)[0D6EABE6-1CC7-348C-8BE2-AF04F66722BF]@0xffffff7f8110c000

BSD process name corresponding to current thread: configd
Boot args: dart=0 nv_disable=1 -gux_defer_usb2 kext-dev-mode=1 slide=0

Mac OS version:
14D136

Kernel version:
Darwin Kernel Version 14.3.0: Mon Mar 23 11:59:05 PDT 2015; root:xnu-2782.20.48~5/RELEASE_X86_64
Kernel UUID: 4B3A11F4-77AA-3D27-A22D-81A1BC5B504D
__HIB text base: 0xffffff8000100000
System model name: MacBookPro6,2 (Mac-F22589C8)

System uptime in nanoseconds: 1385277392260
last loaded kext at 970450935869: com.apple.driver.AppleUSBCDCECMData 4.3.3b1 (addr 0xffffff7f82297000, size 28672)
last unloaded kext at 758525790983: com.apple.driver.AppleUSBCDC 4.3.3b1 (addr 0xffffff7f8228c000, size 16384)
loaded kexts:
org.tw.CodecCommander 2.3.4
com.protech.NoSleep 1.3.3
com.joshuawise.kexts.HoRNDIS 6
com.darwin.driver.ACPIBacklight 2.0.3
org.rehabman.voodoo.driver.PS2Trackpad 1.8.15
org.rehabman.voodoo.driver.PS2Keyboard 1.8.15
com.insanelymac.RealtekRTL8100 1.0.0
net.osx86.kexts.GenericUSBXHCI 1.2.7
org.rehabman.driver.FakePCIID 1.1.1
org.rehabman.voodoo.driver.PS2Controller 1.8.15
org.hwsensors.driver.CPUSensors 1655
org.rehabman.driver.AppleSmartBatteryManager 1.55
org.netkas.driver.FakeSMC 1655
com.apple.driver.AppleUSBCDCECMData 4.3.3b1
com.apple.driver.AppleUSBCDCACMData 4.3.3b1
com.apple.driver.AppleUSBCDC 4.3.3b1
com.apple.filesystems.ntfs 3.12
com.apple.driver.AudioAUUC 1.70
com.apple.driver.X86PlatformShim 1.0.0
com.apple.filesystems.autofs 3.0
com.apple.iokit.IOBluetoothSerialManager 4.3.4f4
com.apple.driver.AppleHDA 272.18
com.apple.driver.AppleGraphicsDevicePolicy 3.7.7
com.apple.driver.AppleUpstreamUserClient 3.6.1
com.apple.iokit.IOUserEthernet 1.0.1
com.apple.Dont_Steal_Mac_OS_X 7.0.0
com.apple.driver.AppleHWAccess 1
com.apple.driver.AppleIntelHD5000Graphics 10.0.6
com.apple.driver.AppleHV 1
com.apple.driver.AppleLPC 1.7.3
com.apple.driver.AppleOSXWatchdog 1
com.apple.driver.AppleIntelSlowAdaptiveClocking 4.0.0
com.apple.driver.AppleIntelFramebufferAzul 10.0.6
com.apple.driver.AppleMCCSControl 1.2.11
com.apple.iokit.SCSITaskUserClient 3.7.5
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless 1.0.0d1
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib 1.0.0d1
com.apple.BootCache 36
com.apple.driver.XsanFilter 404
com.apple.iokit.IOAHCIBlockStorage 2.7.1
com.apple.driver.AppleUSBHub 705.4.2
com.apple.driver.AppleAHCIPort 3.1.2
com.apple.driver.AppleUSBXHCI 710.4.11
com.apple.driver.AppleUSBEHCI 705.4.14
com.apple.driver.AppleRTC 2.0
com.apple.driver.AppleHPET 1.8
com.apple.driver.AppleACPIEC 3.1
com.apple.driver.AppleACPIButtons 3.1
com.apple.driver.AppleSMBIOS 2.1
com.apple.driver.AppleAPIC 1.7
com.apple.nke.applicationfirewall 161
com.apple.security.quarantine 3
com.apple.security.TMSafetyNet 8
com.apple.kext.triggers 1.0
com.apple.driver.DspFuncLib 272.18
com.apple.kext.OSvKernDSPLib 1.15
com.apple.iokit.IOBluetoothFamily 4.3.4f4
com.apple.iokit.IOSurface 97.4
com.apple.iokit.IOUSBHIDDriver 705.4.0
com.apple.iokit.IOUSBUserClient 705.4.0
com.apple.driver.AppleGraphicsControl 3.10.22
com.apple.iokit.IOSlowAdaptiveClockingFamily 1.0.0
com.apple.driver.AppleHDAController 272.18
com.apple.iokit.IOHDAFamily 272.18
com.apple.iokit.IOAudioFamily 203.3
com.apple.vecLib.kext 1.2.0
com.apple.iokit.IOSerialFamily 11
com.apple.AppleGraphicsDeviceControl 3.10.22
com.apple.iokit.IOAcceleratorFamily2 156.14
com.apple.driver.X86PlatformPlugin 1.0.0
com.apple.driver.IOPlatformPluginFamily 5.9.1d7
com.apple.driver.AppleSMC 3.1.9
com.apple.iokit.IONDRVSupport 2.4.1
com.apple.driver.AppleSMBusController 1.0.13d1
com.apple.iokit.IOGraphicsFamily 2.4.1
com.apple.driver.AppleUSBComposite 705.4.9
com.apple.iokit.IOSCSIMultimediaCommandsDevice 3.7.5
com.apple.iokit.IOBDStorageFamily 1.7
com.apple.iokit.IODVDStorageFamily 1.7.1
com.apple.iokit.IOCDStorageFamily 1.7.1
com.apple.iokit.IOAHCISerialATAPI 2.6.1
com.apple.iokit.IOSCSIArchitectureModelFamily 3.7.5
com.apple.iokit.IONetworkingFamily 3.2
com.apple.iokit.IOAHCIFamily 2.7.5
com.apple.iokit.IOUSBFamily 720.4.4
com.apple.driver.AppleEFINVRAM 2.0
com.apple.driver.AppleEFIRuntime 2.0
com.apple.iokit.IOSMBusFamily 1.1
com.apple.iokit.IOHIDFamily 2.0.0
com.apple.security.sandbox 300.0
com.apple.kext.AppleMatch 1.0.0d1
com.apple.driver.AppleKeyStore 2
com.apple.driver.AppleMobileFileIntegrity 1.0.5
com.apple.driver.AppleCredentialManager 1.0
com.apple.driver.DiskImages 396
com.apple.iokit.IOStorageFamily 2.0
com.apple.iokit.IOReportFamily 31
com.apple.driver.AppleFDEKeyStore 28.30
com.apple.driver.AppleACPIPlatform 3.1
com.apple.iokit.IOPCIFamily 2.9
com.apple.iokit.IOACPIFamily 1.4
com.apple.kec.Libm 1
com.apple.kec.pthread 1
com.apple.kec.corecrypto 1.0
Model: MacBookPro6,2, BootROM MBP61.0057.B0C, 2 processors, Intel Core i5, 2.29 GHz, 4 GB, SMC 1.58f17
Graphics: Intel HD Graphics 4400, Intel HD Graphics 4400, Built-In
Memory Module: BANK0/DIMM0, 4 GB, DDR3, 1600 MHz, Hynix Semiconductor, HMT351S6EFR8A-PBN0
Network Service: Moto E, Ethernet, en1
Serial ATA Device: HGST HTS541010A9E680, 1 TB
Serial ATA Device: hp CDDVDW SU-208CB
USB Device: Hub
USB Device: Moto E
USB Device: HP Truevision HD
USB Device: Lenovo Wireless Optical Mouse N100
Thunderbolt Bus:

Crash with phone being unplugged at an unpleasant time

Bug report from @gwillen -- panic in HoRNDIS with flaky MicroUSB cable. Surrounding disassembly:

0x0000000000002857 <_ZN7HoRNDIS12outputPacketEP6__mbufPv+295>:  mov    0x178(%rbx,%r12,1),%rdi
0x000000000000285f <_ZN7HoRNDIS12outputPacketEP6__mbufPv+303>:  mov    (%rdi),%rax
0x0000000000002862 <_ZN7HoRNDIS12outputPacketEP6__mbufPv+306>:  lea    0x2c(%r14),%rsi
0x0000000000002866 <_ZN7HoRNDIS12outputPacketEP6__mbufPv+310>:  callq  *0x2c8(%rax)

(crash was at 0x285f).

Appropriate C:

outbufs[poolIndx].mdp->setLength(pktlen + sizeof *hdr);

Looks like outbufs[poolIndx].mdp either had not been initialized or was being torn down at the time. ::allocateResources() shows up in ::enable(), and ::releaseResources() in ::disable(); I suppose that if the output queue was in another thread, it could have already kicked something off if stop() and flush() are not synchronous?

The sloppy answer would be to just globally serialize (maybe rwlock?) around destruction.

One day.

HoRNDIS kext doesn't load at startup

Hi, i'm trying to use HoRNDIS rel7 on my mbp w 10.10.1 to connect to the network created by a linux embedded board, Arietta G25 (http://www.acmesystems.it/arietta).
I installed the pkg with no errors but when I connect the board no interface is shown in OSX networking panel. dmesg and system doesn not show any sign of HoRNDIS being alive, so i tried using KEXT Wizard and I noticed that HoRNDIS Kext is not loaded by OSX at all. Any suggestion? Thanks in advace for support.

Code signing for 10.9+

I should shell out to Cupertino for a code signing key, and install signed extensions on 10.9+.

No donation support

Please provide a method for financial awesomeness acknowledgment of this tool.

Flattr or paypal would server well.

HoRNDIS rel7 fails to init network interface with Internet sharing on OSX 10.10.1

After updating to Yosemite (10.10.1) when internet sharing is enabled for Beaglebone Black interface the network interface never comes online.

Kernel log of when internet sharing is not turned on:

11/25/14 7:41:31.000 AM kernel[0]: considerRebuildOfPrelinkedKernel prebuild rebuild has expired
11/25/14 7:41:31.000 AM kernel[0]: USBMSC Identifier (non-unique): 0C-3014BBBK0944 0x1d6b 0x104 0x308, 2
11/25/14 7:41:31.000 AM kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
11/25/14 7:41:31.000 AM kernel[0]: HoRNDIS: rndisInit: their MTU 1486
11/25/14 7:41:31.000 AM kernel[0]: HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500.  Good try, buddy.
11/25/14 7:41:31.000 AM kernel[0]: HoRNDIS: init: starting up with MTU 1486
11/25/14 7:41:31.000 AM kernel[0]: 0        0 AppleUSBCDCACMData: start - createSerialStream failed
11/25/14 7:41:31.000 AM kernel[0]: 0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
11/25/14 7:41:31.000 AM kernel[0]: AppleUSBCDCACMData: Version number - 4.2.2b5, Input buffers 8, Output buffers 16
11/25/14 7:41:32.000 AM kernel[0]: AppleUSBCDC: Version number - 4.2.2b5
11/25/14 7:41:32.000 AM kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
11/25/14 7:41:32.000 AM kernel[0]: HoRNDIS: message: kIOMessageServiceWasClosed
11/25/14 7:41:33.619 AM fseventsd[21]: check_vol_last_mod_time:XXX failed to get mount time (25; &mount_time == 0x1041e6498)
11/25/14 7:41:33.619 AM fseventsd[21]: log dir: /Volumes/boot/.fseventsd getting new uuid: 3649EE6E-DEDC-4557-9D36-C94EF9239F7D
11/25/14 7:41:40.707 AM networkd[244]: +[NETLedBelly stopFastFail] Clearing ledbelly failure cache
11/25/14 7:41:40.708 AM configd[26]: network changed: v4(en0:10.0.1.2, en4+:192.168.7.1) DNS Proxy SMB
11/25/14 7:41:43.301 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_advancedMenu) outlet from (ANPNetworkController) to (NSMenu): missing setter or instance variable
11/25/14 7:41:43.301 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_fillerButton) outlet from (ANPNetworkController) to (NSButton): missing setter or instance variable
11/25/14 7:41:43.379 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_mainTabView) outlet from (ANPAdvancedTabController) to (NSTabView): missing setter or instance variable
11/25/14 7:41:43.379 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_serviceImageView) outlet from (ANPAdvancedTabController) to (NSImageView): missing setter or instance variable
11/25/14 7:41:43.379 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_serviceNameField) outlet from (ANPAdvancedTabController) to (NSTextField): missing setter or instance variable
11/25/14 7:41:43.379 AM com.apple.preference.network.remoteservice[1101]: Failed to connect (o_tabViewWindow) outlet from (ANPAdvancedTabController) to (NSPanel): missing setter or instance variable
11/25/14 7:41:43.684 AM com.apple.preference.network.remoteservice[1101]: Could not find image named 'InvalidDataIcon'.

When internet sharing is turned on:

11/25/14 7:43:38.000 AM kernel[0]: USBMSC Identifier (non-unique): 0C-3014BBBK0944 0x1d6b 0x104 0x308, 2
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: rndisInit: their MTU 1486
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500.  Good try, buddy.
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: init: starting up with MTU 1486
11/25/14 7:43:38.000 AM kernel[0]: en4: attached with 4 suspended link-layer multicast membership(s)
11/25/14 7:43:38.000 AM kernel[0]: en4: failed to restore 4 suspended link-layer multicast membership(s) (err=102)
11/25/14 7:43:38.765 AM com.apple.xpc.launchd[1]: (com.apple.bootpd) Unknown key for Boolean: ForceEnableHack
11/25/14 7:43:38.766 AM InternetSharing[1120]: BCAST is ready [en0, mtu=1500 ]
11/25/14 7:43:38.766 AM InternetSharing[1120]: removed addr=fe80::1eba:8cff:feed:be62 on en4
11/25/14 7:43:38.000 AM kernel[0]: en4: promiscuous mode enable succeeded
11/25/14 7:43:38.766 AM InternetSharing[1120]: added addr=192.168.2.1 mask=255.255.255.0 on bridge100
11/25/14 7:43:38.768 AM InternetSharing[1120]: started: [DHCP subnet=192.168.2/24 on bridge100 mtu=1486 <---> en0 mtu=1500] max-mss=1446
11/25/14 7:43:38.768 AM InternetSharing[1120]:   dns: 192.168.2.1
11/25/14 7:43:38.775 AM InternetSharing[1120]: en0, started "natpmpd"
11/25/14 7:43:38.779 AM InternetSharing[1120]: attempted to start dns proxy on en0
11/25/14 7:43:38.780 AM InternetSharing[1120]: configd: com.apple.NetworkSharing.broadcast-0 has been started
11/25/14 7:43:38.780 AM discoveryd[50]: Basic Warn DD_Warn: V6 DNSProxy socket Receive Only Failed
11/25/14 7:43:38.780 AM discoveryd[50]: Basic DNSProxy DNSProxy UDPv4 Listener Socket:58 Port:53 UDPv6 Listener Socket:59 Port:53
11/25/14 7:43:38.780 AM discoveryd[50]: Basic DNSProxy IfIndex: Input[13, 0, 0, 0, 0] Output[4] ConnectionUID[1] No. of Configs[1]
11/25/14 7:43:38.780 AM InternetSharing[1120]: dns proxy successfully enabled
11/25/14 7:43:38.000 AM kernel[0]: 0        0 AppleUSBCDCACMData: start - createSerialStream failed
11/25/14 7:43:38.000 AM kernel[0]: 0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
11/25/14 7:43:38.000 AM kernel[0]: AppleUSBCDCACMData: Version number - 4.2.2b5, Input buffers 8, Output buffers 16
11/25/14 7:43:38.000 AM kernel[0]: AppleUSBCDC: Version number - 4.2.2b5
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
11/25/14 7:43:38.000 AM kernel[0]: HoRNDIS: message: kIOMessageServiceWasClosed
11/25/14 7:43:39.780 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Device not configured (6)
11/25/14 7:43:39.780 AM configd[26]: DHCP en4: INIT transmit failed
11/25/14 7:43:40.387 AM fseventsd[21]: check_vol_last_mod_time:XXX failed to get mount time (25; &mount_time == 0x1041e6498)
11/25/14 7:43:40.387 AM fseventsd[21]: log dir: /Volumes/boot/.fseventsd getting new uuid: 79D143BE-774D-4377-A061-DD5431023058
11/25/14 7:43:42.187 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Device not configured (6)
11/25/14 7:43:42.188 AM configd[26]: DHCP en4: INIT transmit failed
11/25/14 7:43:43.013 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.013 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.014 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.310 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.599 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.935 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:43.935 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.138 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.239 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.339 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.549 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.649 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.880 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.880 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:44.982 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:45.196 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:45.263 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:45.609 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:45.716 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:45.965 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:46.199 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:46.597 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:46.882 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:46.996 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Device not configured (6)
11/25/14 7:43:46.996 AM configd[26]: DHCP en4: INIT transmit failed
11/25/14 7:43:47.098 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:47.098 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:47.332 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:48.826 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:49.064 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:49.298 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:49.915 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:50.114 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:50.349 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:55.715 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Device not configured (6)
11/25/14 7:43:55.715 AM configd[26]: DHCP en4: INIT transmit failed
11/25/14 7:43:55.000 AM kernel[0]: HoRNDIS: rndisCommand: unsupported: RNDIS_MSG_INDICATE
11/25/14 7:43:55.000 AM kernel[0]: HoRNDIS: receivePacket: non-PACKET over data channel? (msg_type 00000000)
11/25/14 7:43:55.738 AM configd[26]: arp_client_transmit(en4) failed, Network is down (50)
11/25/14 7:43:56.196 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:57.928 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:58.097 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:58.315 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:58.932 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:59.182 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:43:59.431 AM discoveryd[50]: Basic Bonjour,Warn Warning: IPv6 listener multicast send failed en4, 50
11/25/14 7:44:04.679 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Network is down (50)
11/25/14 7:44:04.679 AM configd[26]: DHCP en4: INIT transmit failed
11/25/14 7:44:13.107 AM configd[26]: [bootp_transmit.c:213] bootp_transmit(): bpf_write(en4) failed: Network is down (50)
11/25/14 7:44:13.107 AM configd[26]: DHCP en4: INIT transmit failed

Find CDC drier for ECM data interface failed on OS X 10.9.2

this is what I get:

USBMSC Identifier (non-unique): 6A-5113BBBK1104 0x1d6b 0x104 0x308, 2
HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
HoRNDIS: rndisInit: their MTU 1486
HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, but you just tried to set an MTU of 1500.  Good try, buddy.
HoRNDIS: init: starting up with MTU 1486
in6_domifattach: in6_ifattach_prelim returned 22 if=en6
       0        0 AppleUSBCDCACMData: start - allocateResources failed
       0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
         0 [Level 5] [com.apple.message.domain com.apple.commssw.cdc.device] [com.apple.message.signature AppleUSBCDCACMData] [com.apple.message.signature2 0x1D6B] [com.apple.message.signature3 0x104]
AppleUSBCDCACMData: Version number - 4.2.1b5, Input buffers 8, Output buffers 16
flow_divert_kctl_disconnect (0): disconnecting group 1
AppleUSBCDC: Version number - 4.2.1b5

HoRNDIS Spams Console

I do not believe there seems to be any other issue present, but HoRNDIS completely spams my console and makes it near impossible to debug anything. My Console always is filled with the following, and usually only the following:

4/24/15 20:32:12.000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
4/24/15 20:32:12.000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
4/24/15 20:32:12.000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
4/24/15 20:32:12.000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
4/24/15 20:32:12.000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
4/24/15 20:32:12.000 kernel[0]: *** kernel exceeded 500 log message per second limit - remaining messages this second discarded ***

There are hundreds of thousands of these messages in my Console for an unknown reason. I am unfortunately stuck to tethering to my phone for the time being for internet, but everything performs fine otherwise.

OS: Mac OS X 10.10.2
Phone: HTC One M7

HoRNDIS needs a new maintainer

After a three year tenure of maintaining HoRNDIS, it's become clear that I no longer have the time or energy to give HoRNDIS the attention that it deserves -- after all, I only managed to squeeze out a 10.11 release some months after 10.12 was released. The burden of doing user support and responding to people for whom the driver does not work with technical advice (or, at the very least, with a modicum of compassion...) has put me down the road to open-source burnout, and I need to take a break.

So, I'm looking for someone who is willing to take over the torch of maintainership for HoRNDIS. Do you know someone who would like an opportunity to use their skills to contribute to the community? Are you that person? Please feel free to send me an e-mail, or comment here.

Not recognizing connection on OS X 10.10.3

Installed successfully (according to wizard), but when I connect my Android device and enable USB tethering, the mac simply doesn't do anything. No new connection appears in Network / connections.

I'm using OS X 10.10.3 (macbook air) and a Samsung S6. Any suggestions on how to debug?

Some phones get a different en port each time on tethering

Hi,

Noted that few phones (One Plus Two, Samsung Galaxy Grand Prime) get different en port number on tethering.
For eg, first time it get tethered, it will get en5, then again if it is tethered, it will get assigned as en6.
After a series of tethering, it will be like en2342 .etc.

Bonjour/Zeroconf not working

I am unable to get Bonjour/Zeroconf to work over the HoRNDIS interface. Bonjour works on Windows RNDIS , but services being broadcast are not detected when using HoRNDIS. Does the HorDIS driver support multicast DNS?

Horndis spamming console and connection stop working

Hi,

First, thanks a lot for the great work, been using your extension for two years now and it's a great tool I can't live without.
Though, since I use it on my macBookPro, I'm having the same behavior that is described on this closed file :
#40
(same message repeated n times for instance "22/07/2015 11:47:28,000 kernel[0]: HoRNDIS: outputPacket: waiting for buffer..." and also "22/07/2015 11:47:28,000 kernel[0]: HoRNDIS: outputPacket: timed out waiting for buffer")
but with a regular macBook Pro with regular Mavericks 10.9.5.
Plus that each time the console start to be spammed, the connection is timing out and I have to stop and start again the usb tethering on my phone to get my connection back to life. Some websites are presumably more likely to cause the issue than others but in fact it can happen while loading any website if I surf quickly for instance.
It makes the tool nearly unusable.
My phone is a Zenfone Asus under Lollipop 5.0.1
I added a list of possibly useful extensions and information at the end of this message, but tell me if you need any more information (I'm not used to github reporting, so just tell me what is the most accurate to do and report and I'll do)
And maybe I missed something in your manuals, so just tell me and I will apologize quickly ;).

Best regards and keep up.

uname -a
Darwin macBookPro 13.4.0 Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64 x86_64

sudo kextstat|grep -i rndis
133 0 0xffffff7f822e6000 0x7000 0x7000 com.joshuawise.kexts.HoRNDIS (6) <36 34 5 4 3 1>

sudo kextstat|grep -i usb
34 17 0xffffff7f80d0b000 0x61000 0x61000 com.apple.iokit.IOUSBFamily (686.4.1) <11 7 5 4 3 1>
35 0 0xffffff7f80e76000 0x1d000 0x1d000 com.apple.driver.AppleUSBXHCI (683.4.0) <34 11 7 5 4 3 1>
46 1 0xffffff7f80d8c000 0x3000 0x3000 com.apple.iokit.IOUSBUserClient (660.4.2) <34 7 5 4 3 1>
47 0 0xffffff7f80ed4000 0x18000 0x18000 com.apple.driver.AppleUSBHub (683.4.0) <34 5 4 3 1>
55 1 0xffffff7f80e6f000 0x7000 0x7000 com.apple.driver.AppleUSBComposite (656.4.1) <34 4 3 1>
56 0 0xffffff7f80ecd000 0x7000 0x7000 com.apple.driver.AppleUSBMergeNub (650.4.0) <55 34 4 3 1>
57 3 0xffffff7f80e66000 0x9000 0x9000 com.apple.iokit.IOUSBHIDDriver (660.4.0) <34 29 5 4 3 1>
58 0 0xffffff7f81ae6000 0x4000 0x4000 com.apple.driver.AppleUSBTCKeyboard (240.2) <57 34 29 7 6 5 4 3 1>
60 0 0xffffff7f81af1000 0x13000 0x13000 com.apple.driver.AppleUSBMultitouch (240.10) <57 34 29 6 5 4 3 1>
65 1 0xffffff7f80d78000 0x11000 0x11000 com.apple.iokit.IOUSBMassStorageClass (3.6.0) <64 34 15 5 4 3 1>
67 0 0xffffff7f81c77000 0x8000 0x8000 com.apple.driver.AppleUSBCardReader (3.4.1) <66 65 64 34 15 5 4 3 1>
69 0 0xffffff7f81aec000 0x3000 0x3000 com.apple.driver.AppleUSBTCButtons (240.2) <57 34 29 7 6 5 4 3 1>
96 1 0xffffff7f81299000 0x1d000 0x1d000 com.apple.iokit.IOBluetoothHostControllerUSBTransport (4.2.7f5) <34 11 10 7 5 4 3 1>
97 0 0xffffff7f812b6000 0x7000 0x7000 com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport (4.2.7f5) <96 34 11 10 7 5 4 3>
125 0 0xffffff7f82391000 0x8000 0x8000 org.virtualbox.kext.VBoxUSB (4.3.26) <124 46 34 7 5 4 3 1>

802.1x Prevents Internet sharing on the only working network, can't SSH on any other

I'm hoping this is a good place to post about this. I'm running OS X 10.10 with what should be the latest build of HoRNDIS while my BBB is running the latest Debian build. I'm in college, and the only way I seem to be able to SSH into my beagle bone is when I'm connected to our school wifi, which is protected with 802.1x authentication, so I get no internet from the beagle bone. If I connect to any other network, "Network" under system preferences shows the beagle bone black is not connected and has no IP address; the school network is the only one where DHCP seems able to assign it one. If I set a static IP on any other network, SSHing just hangs and it ends up terminating with a timeout error. I'm pulling my hair out, over here!

Conflict with SD card in MacBook Air

If I execute "setprop sys.config.usb rndis" on my Android phone while an SD card is in the card reader of my MacBook Air, OS X shows the message, that the SD card was not properly unmounted. Also the tethering connection does not work then. Sometimes it works first, but disconnects after a short time.

system.log on the Mac:

May  5 08:11:31 mba-cmr kernel[0]: HoRNDIS: dataReadComplete: I/O aborted: device unplugged?
May  5 08:11:31 mba-cmr kernel[0]: HoRNDIS: message: kIOMessageServiceIsTerminated
May  5 08:11:31 mba-cmr kernel[0]: CoreStorage::recover() PV FB8513C6-6097-4425-B8AA-ED98A3A4DE1E from group "StorEDGE" (C55F0EAA-197E-488A-B78B-36AFF130886D) has been marked missing.
May  5 08:11:31 mba-cmr.lan com.apple.kextd[12]: LVG changed
May  5 08:11:31 mba-cmr kernel[0]: disk3: media is not present.
May  5 08:11:31 --- last message repeated 4 times ---
May  5 08:11:31 mba-cmr kernel[0]: jnl: disk3: do_jnl_io: strategy err 0x6
May  5 08:11:31 mba-cmr kernel[0]: jnl: disk3: write_journal_header: error writing the journal header!
May  5 08:11:31 mba-cmr kernel[0]: disk3: media is not present.
May  5 08:11:31 --- last message repeated 6 times ---
May  5 08:11:31 mba-cmr kernel[0]: hfs: unmount initiated on StorEDGE on device disk3
May  5 08:11:31 mba-cmr kernel[0]: jnl: disk3: close: journal 0xffffff8014b3ec20, is invalid.  aborting outstanding transactions
May  5 08:11:32 mba-cmr kernel[0]: AppleUSBMultitouchDriver::message - kIOUSBMessagePortHasBeenReset.
May  5 08:11:32 mba-cmr kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized
May  5 08:11:32 mba-cmr.lan hidd[98]: MultitouchHID: device bootloaded
May  5 08:11:37 mba-cmr kernel[0]: CoreStorage: terminating group "StorEDGE" (C55F0EAA-197E-488A-B78B-36AFF130886D) is BUSY
May  5 08:11:37 mba-cmr kernel[0]: com_apple_driver_AppleUSBCardReaderUMC:: Stop::Controller Reset
May  5 08:11:37 mba-cmr.lan fseventsd[44]: disk logger: failed to open output file /Volumes/StorEDGE/.fseventsd/0000000000037cb6 (No such file or directory). mount point /Volumes/StorEDGE/.fseventsd
May  5 08:11:37 --- last message repeated 1 time ---
May  5 08:11:37 mba-cmr kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
May  5 08:11:37 mba-cmr kernel[0]: HoRNDIS: rndisInit: their MTU 1486
May  5 08:11:37 mba-cmr kernel[0]: HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, but you just tried to set an MTU of 1500.  Good try, buddy.
May  5 08:11:37 mba-cmr kernel[0]: HoRNDIS: init: starting up with MTU 1486
May  5 08:11:37 mba-cmr kernel[0]: in6_domifattach: in6_ifattach_prelim returned 22 if=en3
May  5 08:11:37 mba-cmr.lan configd[18]: [ifutil.c:774] inet6_set_perform_nud(): SIOCGIFINFO_IN6(en3) failed, Invalid argument
May  5 08:11:37 mba-cmr.lan configd[18]: siocll_start(en3) failed, Invalid argument (22)
May  5 08:11:37 mba-cmr kernel[0]: 0        1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
May  5 08:11:37 mba-cmr kernel[0]: 0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
May  5 08:11:38 mba-cmr kernel[0]: AppleUSBMultitouchDriver::message - kIOUSBMessagePortHasBeenReset.
May  5 08:11:38 mba-cmr kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized
May  5 08:11:38 mba-cmr.lan hidd[98]: MultitouchHID: device bootloaded
May  5 08:11:38 mba-cmr kernel[0]: USBMSC Identifier (non-unique): 000000000310 0x5ac 0x8404 0x310, 2
May  5 08:11:40 mba-cmr kernel[0]: CoreStorage: fsck_cs has finished for group "C55F0EAA-197E-488A-B78B-36AFF130886D" with status 0x00
May  5 08:11:40 mba-cmr.lan com.apple.kextd[12]: LVG changed
May  5 08:11:40 mba-cmr kernel[0]: CoreStorageFamily::unlockVEKs() failed to unwrap the vek, status = e00002bc
May  5 08:11:40 mba-cmr.lan com.apple.kextd[12]: LVG changed
May  5 08:11:40 mba-cmr kernel[0]: jnl: disk3: replay_journal: from: 673792 to: 1901056 (joffset 0x3bf000)
May  5 08:11:41 mba-cmr.lan AirPlayUIAgent[252]: 2014-05-05 08:11:41.253931 AM [AirPlayUIAgent] Changed PIN pairing: no
May  5 08:11:41 mba-cmr.lan AirPlayUIAgent[252]: 2014-05-05 08:11:41.282345 AM [AirPlayUIAgent] Changed PIN pairing: no
May  5 08:11:41 mba-cmr kernel[0]: jnl: disk3: journal replay done.
May  5 08:11:41 mba-cmr kernel[0]: hfs: mounted StorEDGE on device disk3
May  5 08:11:41 mba-cmr.lan diskmanagementd[1936]: mount blocked by dissenter PID=0 (unknown) status=0xf8da0002 log=kDAReturnBusy message=(null)

Without the SD card inserted tethering works fine most of the time. Inserting the SD card when the tethering connection was already established, makes no problems.

The MacBook Air is a 13" mid 2011 with OS X 10.9.2. The SD card is a PNY StorEDGE 128GB. The phone is a Fairphone with Android 4.2.2 (Fairphone OS 1.1 Caju).

Any idea what's going on there?

10.11

Not working on OSX El Capitain:

Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: 006028.794737 IOUSBHostHIDDevice@: IOUSBHostHIDDevice::start: unable to set device idle milliseconds
Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: 006028.794750 IOUSBHostHIDDevice@: IOUSBHostHIDDevice::start: start has failed
Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: 006028.797808 IOUSBHostHIDDevice@: IOUSBHostHIDDevice::start: unable to set device idle milliseconds
Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: 006028.797820 IOUSBHostHIDDevice@: IOUSBHostHIDDevice::start: start has failed
Jun 18 21:35:33 MBPRetiDeuschle kernel[0]: IOHIDDevice::newUserClient failed to get a workloop

Tag releases

This helps so that we know when you have updated the binary package :)

Having Wiki Page on this repo.

Hi,

I'm really happy with this driver which works with my phone.
To stock work/unwork information from users, I would propose have wiki page on this repo.

Cheers!

invalid kext signature - does not load on 10.11.5

HoRNDIS-rel8.pkg OS X 10.11.5 (15F34)

Might this have something to do with "enhanced" security in El Capitan?

10/22/16 7:03:56.129 PM sudo[32617]: tom : TTY=ttys000 ; PWD=/Users/tom/Downloads ; USER=root ; COMMAND=/sbin/kextload /System/Library/Extensions/HoRNDIS.kext 10/22/16 7:03:56.461 PM com.apple.kextd[51]: Untrusted kexts are not allowed 10/22/16 7:03:56.461 PM com.apple.kextd[51]: ERROR: invalid signature for com.joshuawise.kexts.HoRNDIS, will not load

rndisCommand: unsupported: RNDIS_MSG_INDICATE

Tethering error with Mac 10.7.5 and Android 4.0.4

MacBook Pro 13" with OS X 10.7.5
Droid Razr with Android 4.0.4
Verizon with mobile hotspot and I believe I had tethering working on a Windows laptop before.

Steps:

  1. Installed HoRNDIS and rebooted (tried install/reboot again just to be sure)
  2. Plugged in my phone via USB
  3. Enabled USB tethering and it says "tethering error" on the phone

(I tried enabling it twice on the phone just to be sure)

com.joshuawise.kexts.HoRNDIS did load automatically
I do see the addition of an USB Modem and XT912 in the Network preferences on the Mac.

Log output from kernel.log

Nov 16 16:57:51 Robs-MacBook-Pro kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
Nov 16 16:57:51 Robs-MacBook-Pro kernel[0]: HoRNDIS: rndisInit: their MTU 1486
Nov 16 16:57:51 Robs-MacBook-Pro kernel[0]: HoRNDIS: init: starting up with MTU 1486
Nov 16 16:57:51 Robs-MacBook-Pro kernel[0]: HoRNDISUSBInterface: Ethernet address e2:e9:d892:29
Nov 16 16:57:51 Robs-MacBook-Pro kernel[0]: HoRNDIS: rndisCommand: unsupported: RNDIS_MSG_INDICATE
Nov 16 16:57:52: --- last message repeated 1 time ---
Nov 16 16:57:52 Robs-MacBook-Pro kernel[0]: 0 1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
Nov 16 16:57:52 Robs-MacBook-Pro kernel[0]: 0 1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
Nov 16 16:58:50 Robs-MacBook-Pro kernel[0]: HoRNDIS: outputPacket: waiting for buffer...
Nov 16 16:58:50: --- last message repeated 9 times ---
Nov 16 16:58:50 Robs-MacBook-Pro kernel[0]: HoRNDIS: outputPacket: timed out waiting for buffer

HoRNDIS rel7 on OS X 10.9.5 with Motorola Defy+ (Android 2.3.6): self asigned IP address

First of all: I don't know whether this is a HoRNDIS issue at all. There's also some vendor specific syncing software (MotoCast) installed on my system. But I decided to try my luck here, anyway.

When I first insatlled HoRNDIS and rebooted my computer, everything worked finde. My phone appeared in the Networking Preferences panel and I got a working Internet connection.
But my phone appeared there twice, as "MB526" and as "MotMobile", MB526 beeing the connection that actually did something. So I decided to delete MotMobile and from thereon everything stopped working. The phone keeps showing up in the panel and correctly shows if there is a USB cable connection or not, but seems unable to get a connection to the Internet.

And I still can't get things to work again, even after deleting /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist and /Library/Preferences/SystemConfiguration/preferences.plist and setting everything up from scratch.
One thing I keep noticing: when I rebuild my kernel extensions cache, the system complains about HoRNDIS not beeing signed by a trusted developer but seems to load it anyway.

My system logs:

connecting the phone:

28.10.14 11:58:44,000 kernel[0]: USBMSC Identifier (non-unique): 0A3AAAB80C02301B 0x22b8 0x41d9 0x216, 2
28.10.14 11:58:45,044 MotoHelperDaemon[378]: ARRIVAL:PID: 0x41d9 model: MB526 
28.10.14 11:58:45,079 MotoHelperDaemon[378]: Launching MotoHelperAgent
28.10.14 11:58:45,285 MotoHelperAgent[772]: MotoHelperAgent :: **SUE** SUEPlugin bundle is loaded
28.10.14 11:58:45,372 MotoHelperAgent[772]: ---------------------------------------
28.10.14 11:58:45,373 MotoHelperAgent[772]: New log started for SUE plugin.
28.10.14 11:58:45,377 MotoHelperAgent[772]: 2014-10-28 10:58:45 +0000 [I]: Client version: 12.12.19.02, MAC: Version 10.9.5 (Build 13F34)
28.10.14 11:58:45,580 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:45,742 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:45,827 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:45,935 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:46,022 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:46,085 networksetup[777]: proxies = nil.
28.10.14 11:58:46,168 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:46,253 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:46,355 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 11:58:46,420 MotoHelperAgent[772]: MotoHelperAgent :: the value of g_activeSerialNumber is = 0A3AAAB80C02301B
28.10.14 11:58:46,420 MotoHelperAgent[772]: 2014-10-28 10:58:46 +0000 [D]: <ComMotorolaSuepluginPrincipal:SUEIsDeviceSupported:descriptor::294> - pid=0x41d9 descriptor=MB526
28.10.14 11:58:47,387 MotoHelperAgent[772]: 2014-10-28 10:58:47 +0000 [I]: <ComMotorolaSuepluginDeviceRoutingTableParser:deviceSupported:descriptor::249> - Verify device with PID-0x41d9, Product descriptor-MB526, it's not supported by the routing table
28.10.14 11:58:47,388 MotoHelperAgent[772]: MotoHelperAgent :: **SUE** device not supported: 0x41d9, MB526
28.10.14 11:58:47,391 MotoHelperAgent[772]: Can't open input server /Users/christianscheurle/Library/InputManagers/Smart Crash Reports
28.10.14 11:58:47,406 MotoHelperAgent[772]: MotoHelperAgent :: Retrieved WaitingForLaunch = 0
28.10.14 11:58:48,474 MotoHelperAgent[772]: Bartender: Loaded BartenderHelperSeventyFour
28.10.14 11:58:55,721 MotoHelperDaemon[378]: REMOVAL:PID: 0x41d9 model: MB526 
28.10.14 11:58:56,509 MotoHelperDaemon[378]: ARRIVAL:PID: 0x41d6 model: MB526 
28.10.14 11:58:56,536 MotoHelperDaemon[378]: Launching MotoHelperAgent
28.10.14 11:58:56,658 MotoHelperAgent[783]: Can't open input server /Users/christianscheurle/Library/InputManagers/Smart Crash Reports

activating usb tethering on the phone:

28.10.14 12:03:20,121 MotoHelperDaemon[378]: REMOVAL:PID: 0x41d6 model: MB526 
28.10.14 12:03:20,000 kernel[0]: HoRNDIS: init: HoRNDIS tethering driver for Snow Leopard+, by Joshua Wise
28.10.14 12:03:20,000 kernel[0]: HoRNDIS: rndisInit: their MTU 1486
28.10.14 12:03:20,000 kernel[0]: HoRNDIS: setMaxTransferUnit: Excuse me, but I said you could have an MTU of 1486, and you just tried to set an MTU of 1500.  Good try, buddy.
28.10.14 12:03:20,000 kernel[0]: HoRNDIS: init: starting up with MTU 1486
28.10.14 12:03:20,000 kernel[0]: en3: attached with 4 suspended link-layer multicast membership(s)
28.10.14 12:03:20,000 kernel[0]: en3: failed to restore 4 suspended link-layer multicast membership(s) (err=102)
28.10.14 12:03:22,000 kernel[0]: 0        1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
28.10.14 12:03:22,000 kernel[0]: 0        1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed
28.10.14 12:03:22,000 kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
28.10.14 12:03:22,000 kernel[0]: HoRNDIS: message: kIOMessageServiceWasClosed
28.10.14 12:03:22,000 kernel[0]: HoRNDIS: message: kIOMessageServiceIsAttemptingOpen
28.10.14 12:03:22,376 MotoHelperDaemon[378]: ARRIVAL:PID: 0x41e4 model: MB526 
28.10.14 12:03:22,399 MotoHelperDaemon[378]: Wild Card check
28.10.14 12:03:29,217 xpcd[305]: Info.plist does not contain an XPCService dictionary: /System/Library/Frameworks/Security.framework/XPCServices/SecurityAgent.xpc
28.10.14 12:03:31,032 AirPlayUIAgent[556]: 2014-10-28 12:03:31.032060 PM [AirPlayUIAgent] Changed PIN pairing: no
28.10.14 12:03:31,057 AirPlayUIAgent[556]: 2014-10-28 12:03:31.056980 PM [AirPlayUIAgent] Changed PIN pairing: no
28.10.14 12:03:40,544 configd[19]: ndeetwork changed: v4(en1:192.168.178.24) DNS Proxy SMB

deactivating usb tethering on the phone:

28.10.14 12:06:12,000 kernel[0]: HoRNDIS: dataReadComplete: I/O aborted: device unplugged?
28.10.14 12:06:12,000 kernel[0]: HoRNDIS: rndisSetPacketFilter: SET not successful?
28.10.14 12:06:12,000 kernel[0]: HoRNDIS: message: kIOMessageServiceIsTerminated
28.10.14 12:06:12,797 MotoHelperDaemon[378]: REMOVAL:PID: 0x41e4 model: MB526 
28.10.14 12:06:12,800 configd[19]: DHCP en3: INIT transmit failed
28.10.14 12:06:12,800 configd[19]: arp_client_open_fd: bpf_setif(en3) failed: Device not configured (6)
28.10.14 12:06:12,808 mDNSResponder[59]: getExtendedFlags: SIOCGIFEFLAGS failed, errno = 6 (Device not configured)
28.10.14 12:06:12,810 configd[19]: network changed: v4(en1:192.168.178.24) DNS Proxy SMB
28.10.14 12:06:12,817 mDNSResponder[59]: getExtendedFlags: SIOCGIFEFLAGS failed, errno = 6 (Device not configured)
28.10.14 12:06:13,728 MotoHelperDaemon[378]: ARRIVAL:PID: 0x41d6 model: MB526 
28.10.14 12:06:13,757 MotoHelperDaemon[378]: Launching MotoHelperAgent
28.10.14 12:06:13,857 MotoHelperAgent[813]: Can't open input server /Users/christianscheurle/Library/InputManagers/Smart Crash Reports
28.10.14 12:06:22,896 AirPlayUIAgent[556]: 2014-10-28 12:06:22.895519 PM [AirPlayUIAgent] Changed PIN pairing: no
28.10.14 12:06:22,923 AirPlayUIAgent[556]: 2014-10-28 12:06:22.923004 PM [AirPlayUIAgent] Changed PIN pairing: no

unplugging my phone:

28.10.14 12:07:52,417 MotoHelperDaemon[378]: REMOVAL:PID: 0x41d6 model: MB526 

HoRNDIS does not create a network interface on 10.6

First off, thanks for the great software. For me, HoRNDIS is not creating a new network adaptor even though the phone is set to tether. This appears to be due to some sort of link error in the kext, which I can reproduce by manually loading the kext using kextload. That results in the following error in the system log:

22/09/2014 12:14:04 com.apple.kextd[10] Failed to load /Library/Extensions/HoRNDIS.kext - (libkern/kext) link error.

Here is the output of ifconfig -a BEFORE connecting the device:

$ ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:23:df:96:8c:9e
media: autoselect
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:1f:f3:bf:57:d7
inet6 fe80::21f:f3ff:febf:57d7%en1 prefixlen 64 scopeid 0x5
inet 10.178.4.219 netmask 0xfffffff8 broadcast 10.178.4.223
media: autoselect
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr 00:23:df:ff:fe:96:8c:9e
media: autoselect
status: inactive

$ ifconfig -a | openssl md5
8f3a6a01de7733d3fbc2a9adf1afeb6e

AFTER connecting the device, the output from ifconfig -a is the same:

$ ifconfig -a | openssl md5
8f3a6a01de7733d3fbc2a9adf1afeb6e

And the dmesg output log:

CODE SIGNING: cs_invalid_page(0x1000): p=801[ksadmin] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=806[ksadmin] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=807[ksadmin] clearing CS_VALID
USBF: 1573.421 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1573.426 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1573.684 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1573.689 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574. 33 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574. 38 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.294 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.299 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.641 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.646 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.903 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1574.908 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
0 1 AppleUSBCDCACMData: start - Find CDC driver for data interface failed
USBF: 1585.507 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1585.512 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1585.769 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1585.774 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
0 1 AppleUSBCDCACMData: start - Find CDC driver for data interface failed
USBF: 1648. 71 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1648. 76 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1648.332 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1648.337 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1727.597 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1727.602 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1727.858 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1727.863 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
CODE SIGNING: cs_invalid_page(0x1000): p=965[ksadmin] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=970[ksadmin] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=971[ksadmin] clearing CS_VALID
USBF: 1728.478 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1728.483 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1728.740 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1728.745 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729. 87 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729. 92 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729.350 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729.355 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729.698 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729.963 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1729.968 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
0 1 AppleUSBCDCACMData: start - Find CDC driver for data interface failed
USBF: 1736.193 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1736.200 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1736.458 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending
USBF: 1736.463 AppleUSBOHCI[0x83cf000]::SuspendUSBBus Processing WDH before suspending

Would myself and the other Snow Leopard user(s) who may have the problem be better off with an older version?

Many thanks,

Daniel

Doesn't work with my Samsung Galaxy S II

I have S2 with Android 2.3.6 Gingerbread. USB tethering works fine with Windows.

Machine : MacBook Air 2011 13"
OS X version : 10.7.5
HoRNDIS pkg : HoRNDIS-rel2.pkg

The driver doesn't load startup, so I load it with kextload.
When I plug it in, it appears as a Modem in Network Preferences (as before).

I attached the log files from kernel.log and USB Prober below.
Thanks a lot.

kernel.log

After connecting the phone to USB port
kernel[0]: USBMSC Identifier (non-unique): 304D19BA84548C7E 0x4e8 0x685e 0x400
kernel[0]: AppleUSBCDCACMData: Version number - 4.1.22, Input buffers 8, Output buffers 16
kernel[0]: AppleUSBCDC: Version number - 4.1.22
After enabling USB tethering
kernel[0]: 0xffffff801ce5da00/(5) Device not responding
kernel[0]: 0 ff AppleUSBCDCACMControl: configureACM - ACM Control interface has vendor specific protocol
kernel[0]: 0 0 AppleUSBCDCACMControl: start - configureACM failed
kernel[0]: AppleUSBCDCACMData: Version number - 4.1.22, Input buffers 8, Output buffers 16
kernel[0]: AppleUSBCDC: Version number - 4.1.22

USB Bus Probe

High Speed device @ 4 (0xFD120000): ............................................. Communication device: "SAMSUNG_Android"
Port Information: 0x1018
Not Captive
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 (current): 4
Device Descriptor
Descriptor Version Number: 0x0200
Device Class: 2 (Communication)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 64
Device VendorID/ProductID: 0x04E8/0x6863 (Samsung Electronics Co., Ltd.)
Device Version Number: 0x0400
Number of Configurations: 1
Manufacturer String: 1 "SAMSUNG"
Product String: 2 "SAMSUNG_Android"
Serial Number String: 3 "304D19BA84548C7E"
Configuration Descriptor (current config)
Length (and contents): 75
Raw Descriptor (hex) 0000: 09 02 4B 00 02 01 00 C0 30 08 0B 00 02 02 06 00
Raw Descriptor (hex) 0010: 0A 09 04 00 00 01 02 02 FF 08 05 24 00 10 01 05
Raw Descriptor (hex) 0020: 24 01 00 01 04 24 02 00 05 24 06 00 01 07 05 86
Raw Descriptor (hex) 0030: 03 08 00 09 09 04 01 00 02 0A 00 00 09 07 05 8B
Raw Descriptor (hex) 0040: 02 00 02 00 07 05 0A 02 00 02 00
Number of Interfaces: 2
Configuration Value: 1
Attributes: 0xC0 (self-powered)
MaxPower: 96 ma
Interface Association Communications-Control
First Interface 0
Interface Count 2
Function Class 2 (Communications-Control)
Function Subclass 6
Interface Protocol 0
Function String 10 "RNDIS"
Interface #0 - Communications-Control .............................................. "RNDIS Communications Control"
Alternate Setting 0
Number of Endpoints 1
Interface Class: 2 (Communications-Control)
Interface Subclass; 2
Interface Protocol: 255
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Call Management Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 01 00 01
Comm Class Abstract Control Management Functional Descriptor
Raw Descriptor (hex) 0000: 04 24 02 00
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 00 01
Endpoint 0x86 - Interrupt Input
Address: 0x86 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 8 (8 x 1 transactions opportunities per microframe)
Polling Interval: 9 (256 microframes (32 msecs) )
Interface #1 - Communications-Data/Unknown Comm Class Model .............................................. "RNDIS Ethernet Data"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 0
Endpoint 0x8B - Bulk Input
Address: 0x8B (IN)
Attributes: 0x02 (Bulk no synchronization data endpoint)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Endpoint 0x0A - Bulk Output
Address: 0x0A (OUT)
Attributes: 0x02 (Bulk no synchronization data endpoint)
Max Packet Size: 512
Polling Interval: 0 ( Endpoint never NAKs)
Device Qualifier Descriptor
Descriptor Version Number: 0x0200
Device Class 2 (Communication)
Device Subclass 0
Device Protocol 0
Device MaxPacketSize: 64
Number of Configurations: 1
bReserved: 0
Other Speed Configuration Descriptor
Length (and contents): 75
Raw Descriptor (hex) 0000: 09 07 4B 00 02 01 00 C0 30 08 0B 00 02 02 06 00
Raw Descriptor (hex) 0010: 0A 09 04 04 00 01 02 02 FF 08 05 24 00 10 01 05
Raw Descriptor (hex) 0020: 24 01 00 01 04 24 02 00 05 24 06 04 05 07 05 86
Raw Descriptor (hex) 0030: 03 08 00 20 09 04 05 00 02 0A 00 00 09 07 05 8B
Raw Descriptor (hex) 0040: 02 40 00 00 07 05 0A 02 40 00 00
Number of Interfaces: 2
Configuration Value: 1
Attributes: 0xC0 (self-powered)
MaxPower: 96 ma
Interface Association Communications-Control
First Interface 0
Interface Count 2
Function Class 2 (Communications-Control)
Function Subclass 6
Interface Protocol 0
Function String 10 "RNDIS"
Interface #4 - Communications-Control .............................................. "RNDIS Communications Control"
Alternate Setting 0
Number of Endpoints 1
Interface Class: 2 (Communications-Control)
Interface Subclass; 2
Interface Protocol: 255
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Call Management Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 01 00 01
Comm Class Abstract Control Management Functional Descriptor
Raw Descriptor (hex) 0000: 04 24 02 00
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 04 05
Endpoint 0x86 - Interrupt Input
Address: 0x86 (IN)
Attributes: 0x03 (Interrupt no synchronization data endpoint)
Max Packet Size: 8
Polling Interval: 32 ms
Interface #5 - Communications-Data/Unknown Comm Class Model .............................................. "RNDIS Ethernet Data"
Alternate Setting 0
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 0
Endpoint 0x8B - Bulk Input
Address: 0x8B (IN)
Attributes: 0x02 (Bulk no synchronization data endpoint)
Max Packet Size: 64
Polling Interval: 0 ms
Endpoint 0x0A - Bulk Output
Address: 0x0A (OUT)
Attributes: 0x02 (Bulk no synchronization data endpoint)
Max Packet Size: 64
Polling Interval: 0 ms

USB Log

After connecting the phone to USB port

34.747 [2] AppleUSBEHCI[0xffffff800a888000]::PollInterrupts - deferring checking for RHStatus until we are running again
34.771 [3] AppleUSBHub[0xffffff800a8d5000]::DecrementOutstandingIO(2118), outstandingIO(0), _interruptReadPending(false) - rearming read
34.771 [3] AppleUSBHub[0xffffff800a8d5000]::DecrementOutstandingIO(2118), outstandingIO(0), _interruptReadPending(false) - rearming read
34.771 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateInterruptTransfer - root hub interrupt transfer - clearing unneeded memDesc (0xffffff800a8c4e00) from dmaCommand (0xffffff800a8b9980)
34.771 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateInterruptTransfer - root hub interrupt transfer - clearing unneeded memDesc (0xffffff800a8c4e00) from dmaCommand (0xffffff800a8b9980)
34.771 [3] AppleUSBEHCI[0xffffff800a888000]::UIMRootHubStatusChange got bitmap (0x2)
34.771 [3] AppleUSBEHCI[0xffffff800a888000]::UIMRootHubStatusChange got bitmap (0x2)
34.771 [3] AppleUSBHub[0xffffff800a8d5000]::ChangeRaisedPowerState(+) now (1)
34.771 [3] AppleUSBHub[0xffffff800a8d5000]::ChangeRaisedPowerState(+) now (1)
34.783 [3] AppleUSBHubPort[0xffffff800a8afc00]::WakeSuspendCommand calling commandWakeUp
34.783 [3] AppleUSBHubPort[0xffffff800a8afc00]::WakeSuspendCommand calling commandWakeUp
34.783 [3] AppleUSBHub[0xffffff800a8d5000]::ChangeRaisedPowerState(-) now (0)
34.783 [3] AppleUSBHub[0xffffff800a8d5000]::ChangeRaisedPowerState(-) now (0)
34.783 [3] AppleUSBHub[0xffffff800a8d5000]::DecrementOutstandingIO(2124), outstandingIO(0), _interruptReadPending(false) - rearming read
34.783 [3] AppleUSBHub[0xffffff800a8d5000]::DecrementOutstandingIO(2124), outstandingIO(0), _interruptReadPending(false) - rearming read
34.783 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateInterruptTransfer - root hub interrupt transfer - clearing unneeded memDesc (0xffffff800a8c4e00) from dmaCommand (0xffffff800a8b9980)
34.783 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateInterruptTransfer - root hub interrupt transfer - clearing unneeded memDesc (0xffffff800a8c4e00) from dmaCommand (0xffffff800a8b9980)
34.784 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2125), outstandingIO(0), _interruptReadPending(false) - rearming read
34.784 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2125), outstandingIO(0), _interruptReadPending(false) - rearming read
34.799 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
34.799 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
34.837 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
34.837 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (2)
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (2)
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (1)
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (1)
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2130), outstandingIO(0), _interruptReadPending(false) - rearming read
34.901 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2130), outstandingIO(0), _interruptReadPending(false) - rearming read
34.903 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
34.903 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
34.927 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
34.927 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
35.039 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(0, 0, 64, 2 @(0, 0))
35.039 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(0, 0, 64, 2 @(0, 0))
35.042 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(4, 0, 64, 2 @(0, 0))
35.042 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(4, 0, 64, 2 @(0, 0))
35.045 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
35.045 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
35.045 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2135), outstandingIO(0), _interruptReadPending(false) - rearming read
35.045 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2135), outstandingIO(0), _interruptReadPending(false) - rearming read

After enabling USB tethering

37.272 [2] IOUSBPipe[0xffffff801db70800]::Read(sync) returned 0xe00002ed (device is not responding) - stalling pipe
37.272 [2] IOUSBPipe[0xffffff801db70800]::Read(sync) returned 0xe00002ed (device is not responding) - stalling pipe
37.272 [3] IOUSBInterfaceUserClientV2[0xffffff8020680800]::ReadPipe - returning err e00002ed, size read: 0
37.272 [3] IOUSBInterfaceUserClientV2[0xffffff8020680800]::ReadPipe - returning err e00002ed, size read: 0
37.272 [2] IOUSBPipeV2[0xffffff801db70800]::Abort setting status to 0
37.272 [2] IOUSBPipeV2[0xffffff801db70800]::Abort setting status to 0
37.295 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
37.295 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
37.333 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.333 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.390 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.390 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.397 [2] IOUSBDevice(SAMSUNG_Android)[0xffffff800c43e700]::terminate - making sure all endpoints are enabled
37.397 [2] IOUSBDevice(SAMSUNG_Android)[0xffffff800c43e700]::terminate - making sure all endpoints are enabled
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - Mass Storage[0xffffff80240e1800] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - Mass Storage[0xffffff80240e1800] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC Abstract Control Model (ACM)[0xffffff80200cb000] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC Abstract Control Model (ACM)[0xffffff80200cb000] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC ACM Data[0xffffff8010688200] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC ACM Data[0xffffff8010688200] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - IOUSBInterface[0xffffff800d7a6400] is not in _OPEN_CLIENTS
37.401 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - IOUSBInterface[0xffffff800d7a6400] is not in _OPEN_CLIENTS
37.405 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - Mass Storage[0xffffff80240e1800] is not in _OPEN_CLIENTS
37.405 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - Mass Storage[0xffffff80240e1800] is not in _OPEN_CLIENTS
37.408 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC Abstract Control Model (ACM)[0xffffff80200cb000] is not in _OPEN_CLIENTS
37.408 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC Abstract Control Model (ACM)[0xffffff80200cb000] is not in _OPEN_CLIENTS
37.413 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC ACM Data[0xffffff8010688200] is not in _OPEN_CLIENTS
37.413 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - CDC ACM Data[0xffffff8010688200] is not in _OPEN_CLIENTS
37.418 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - IOUSBInterface[0xffffff800d7a6400] is not in _OPEN_CLIENTS
37.418 [2] SAMSUNG_Android[0xffffff800c43e700]::handleIsOpen - IOUSBInterface[0xffffff800d7a6400] is not in _OPEN_CLIENTS
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (2)
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (2)
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (1)
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (1)
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2140), outstandingIO(0), _interruptReadPending(false) - rearming read
37.421 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2140), outstandingIO(0), _interruptReadPending(false) - rearming read
37.422 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
37.422 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
37.455 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
37.455 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(+) now (1)
37.492 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.492 [3] AppleUSBHub[0xffffff800a9c7000]::HubAreAllPortsDisconnectedOrSuspended - port 2 still initing, status changing, or adding a device (0/1/0)
37.568 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(0, 0, 64, 2 @(0, 0))
37.568 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(0, 0, 64, 2 @(0, 0))
37.571 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(4, 0, 64, 2 @(0, 0))
37.571 [3] AppleUSBEHCI[0xffffff800a888000]::UIMCreateControlEndpoint(4, 0, 64, 2 @(0, 0))
37.573 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
37.573 [3] AppleUSBHub[0xffffff800a9c7000]::ChangeRaisedPowerState(-) now (0)
37.573 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2145), outstandingIO(0), _interruptReadPending(false) - rearming read
37.573 [3] AppleUSBHub[0xffffff800a9c7000]::DecrementOutstandingIO(2145), outstandingIO(0), _interruptReadPending(false) - rearming read

MAC address variation breaks enXX enumeration (or, Interfaces! Interfaces everywhere!)

For reasons I don't entirely understand (and a brief rummage through I/O Kit (shudder) didn't enlighten me) it appears that the enXX enumeration issue is related to MAC addresses changing. I'll guess it's something related to SystemConfiguration management that forces enumeration of a new device because it's not been seen before.

Allow me to demonstrate.

  1. Tether a phone.
  2. Do ioreg -l | grep IOMACAddress > snap.a
  3. Untether the phone. I opt to simply unplug it (yes, yes, it could panic, I know, but 99 times out of 100 it doesn't) to make sure it's nicely forgotten about.
  4. Tether the phone.
  5. Do ioreg -l | grep IOMACAddress > snap.b
  6. diff -u snap.a snap.b

I've deliberately left the MAC addresses that the interface uses unmangled to demonstrate that they are so different, and also because they're basically transient LAAs.

 --- snap.a  2014-03-07 14:04:12.000000000 +1100
 +++ snap.b  2014-03-07 14:04:40.000000000 +1100
 @@ -1,5 +1,5 @@
      | |   |       |           |     |   "IOMACAddress" = <d2001bXXXXXX>
 -    | |   |     |   |   "IOMACAddress" = <ae931d149224>
 +    | |   |     |   |   "IOMACAddress" = <e2949d54a44a>
      | |   |   |   |   "IOMACAddress" = <c82a14XXXXXX>
      | |   |       |   "IOMACAddress" = <e0f847XXXXXX>
      | |   |       | |   "IOMACAddress" = <e0f847XXXXXX>

That's not the only place; in the hundred-odd examples I have in NetworkInterfaces.plist, the IOMacAddress data changes.

I haven't checked this on any other platforms or with other phones, but I suspect this is where the issue is coming from.

HoRNDIS not creating network adapter

Hello!

First of all, thanks for HoRNDIS! I used it a few times with my HTC Desire and it worked nicely.

Recently I upgraded to a Samsung Galaxy S3 Mini. Today I tried using HoRNDIS (release 2) with it, but it seemed not to detect my phone. I saw on the website that there was a new version available, so I deleted the android network interface, deleted the HoRNDIS kext, installed HoRNDIS release 4 and restarted.

Whis this release, using dmesg I can see that HoRNDIS detects the phone when I connect it to the USB port and activate USB tethering, but no network adapter is created in network preferences so I'm not able to use the ISB tethering. Do you know of a way I can create this network adapter? I'm using Snow Leopard, 10.6.8, with 64-bit kernel.

Thanks!

Reinstallation not adding network device

Running OS X 10.8.4

Installed rel4 version.

I had an issue with my Beaglebone Black, I then uninstalled the kext file and removed the network devices.

After reinstalling the package, my device is no longer detected and the network devices aren't added in.

Speed issue with HoRNDIS rel8pre2 on 10.11.5

I installed HoRNDIS rel8pre2 on my Mac running OS X 10.11.5 and it worked like a charm with the first phone that I connected. Today I connected a second phone and while I am able to connect to the Internet without any problem, the speed is miserably slow. The 4G connection should be able to deliver around 35 Mbps (and does so when tethered to a Windows PC) but I only get a measly 2 Mbps or so. I dug around a bit in my Network Preferences and see that the previous phone connected as "LS-5013" whereas the one that is giving me issues is connecting as "Spreadtrum".

Any ideas on how I may be able to get the new phone deliver the speeds that it should would be most welcome!

Should match with IOUSBInterface, not IOUSBDevice

Devices like Droid RAZR, which have a device class of 0/0/0 (rather than 224/0/0), will not work, since currently we match on a device class of 224/0/0. We should match on an interface class to make sure we get what we want; if we do that, then we can match on the more specific interface class, as well, to avoid picking up CDC devices.

Original:

Subj: Tethering error with Mac 10.7.5 and Android 4.0.4

  • MacBook Pro 13" with OS X 10.7.5
  • Droid Razr with Android 4.0.4
  • Verizon with mobile hotspot and I believe I had tethering working on a Windows laptop before.

Steps:

  1. Installed HoRNDIS and rebooted (tried install/reboot again just to be sure)
  2. Plugged in my phone via USB
  3. Enabled USB tethering and it says "tethering error" on the phone
  • There are also no changes in the Network preferences on the Mac

Via kextstat I saw it wasn't loaded so I manually loaded it:

sudo kextload /System/Library/Extensions/HoRNDIS.kext

Tried to tether again and noticed these errors in kernel.log:

Nov 14 19:05:28 Robs-MacBook-Pro kernel[0]: 0 1 AppleUSBCDCACMData: start - Find CDC driver for ACM data interface failed
Nov 14 19:05:28 Robs-MacBook-Pro kernel[0]: 0 1 AppleUSBCDCECMData: start - Find CDC driver for ECM data interface failed

32-bit build needed for Macs running a 32-bit kernel by default

was: Mac OS X 10.6.8 Install issues - "no code for running kernel's architecture"

Hi, I downloaded the HoRNDIS-rel1.pkg installer and ran it, and it appeared to work, but my Mac didn't detect my phone when I plugged it in, even after rebooting. I fired up console.app and searched for "horndis" and found this:

11/16/12 2:42:42 PM Installer[69496]    HoRNDIS  Installation Log
11/16/12 2:42:42 PM Installer[69496]    Opened from: /Volumes/Old Macintosh HD/downloads/HoRNDIS-rel1.pkg
11/16/12 2:42:56 PM Installer[69496]        Install: "HoRNDIS"
11/16/12 2:42:56 PM Installer[69496]        Install: "HoRNDIS Kernel Extension"
11/16/12 2:43:08 PM com.apple.kextd[17] Can't load /System/Library/Extensions/HoRNDIS.kext - no code for running kernel's architecture.
11/16/12 2:43:08 PM com.apple.kextd[17] Failed to load /System/Library/Extensions/HoRNDIS.kext - (libkern/kext) requested architecture/executable not found.
11/16/12 2:43:08 PM installd[69532] Installed "HoRNDIS" ()
11/16/12 2:47:53 PM com.apple.kextd[17] Can't load /System/Library/Extensions/HoRNDIS.kext - no code for running kernel's architecture.
11/16/12 2:47:53 PM com.apple.kextd[17] Failed to load /System/Library/Extensions/HoRNDIS.kext - (libkern/kext) requested architecture/executable not found.
11/16/12 2:47:53 PM com.apple.kextd[17] Load com.joshuawise.kexts.HoRNDIS failed; removing personalities.

I plugged in the phone at the last step of the install when it had instructions up, so I re-ran the installer with the phone disconnected the entire time and got this:

11/16/12 2:58:01 PM Installer[1751] HoRNDIS  Installation Log
11/16/12 2:58:01 PM Installer[1751] Opened from: /Volumes/Old Macintosh HD/downloads/HoRNDIS-rel1.pkg
11/16/12 2:58:11 PM com.apple.kextcache[689]    /System/Library/Extensions/HoRNDIS.kext doesn't support architecture i386; omitting from prelinked kernel.
11/16/12 2:58:13 PM Installer[1751]     Upgrade: "HoRNDIS"
11/16/12 2:58:13 PM Installer[1751]     Upgrade: "HoRNDIS Kernel Extension"
11/16/12 2:58:24 PM com.apple.kextd[17] Can't load /System/Library/Extensions/HoRNDIS.kext - no code for running kernel's architecture.
11/16/12 2:58:24 PM com.apple.kextd[17] Failed to load /System/Library/Extensions/HoRNDIS.kext - (libkern/kext) requested architecture/executable not found.
11/16/12 2:58:24 PM installd[1782]  Installed "HoRNDIS" ()

I don't think there's anything really special about my mac - it's a 2010 model with an i7 - it should run i386 code just fine. So I'm not sure what to make of that error.

The phone is a rooted Samsung Galaxy S III running Clean Rom (basically stock but without all the trials and Verizon crap). It has a USB Tethering checkbox in the menu and it puts a "USB Tethering, Tap to configure" line in the Ongoing section of my top pull-down menu.

Any ideas?

auto build connect by code

please tell me how do for auto build a new connect by code when android device open USB tethering? thanks very mach

Menu bar icon

first of all, thanks for horndis, it's great!

i have a minor feature request: it'd be nice if it showed a menu bar icon when it's connected, even if only to show that it's working.

thanks in advance!

HoRNDIS not creating any internet interface

Hi there!

First of all, I really would like to thank you for creating this amazing driver.

However, unfortunately, I don't think installing the latest rel7 actually does anything to my Mac.

Basically, I installed the package, plugged in my phone, turned on USB tethering and nothing happened. No new connection showed up in System Preference - Network.

My Mac is running Yosemite 10.10.3, and my phone is a Nexus 6 that runs Android 5.1.1 AOSP (rooted) w/ stock kernel.

I would like to give more logs or debugging info, but I'm really not sure what's going on.

Thanks!

Connected but no data

It appears the phone is connected but I'm not getting any data.
I have tried a variety of things like plugging and unplugging the phone, rebooting the mac etc. No dice.

Is there a special order to installing this? Plug phone in then install. or install then plug in?

My setup:
MacBookAir 2013 (OSX 10.8.5)
Samsung Galaxy S4 (Google Play Edition 4.3)

Connected but no data

Doesn't detect HTC Desire S running CyanogenMod

When I connect Desire S to my Retina MacBook Pro running OS X 10.8.2, it doesn't get detected as a network device, as if driver wasn't installed. USB probe output follows

High Speed device @ 7 (0x1D110000): .............................................   Composite device: "Android Phone"
    Port Information:   0x1018
           Not Captive
           External Device
           Connected
           Enabled
           Connected to External Port
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   6
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x0BB4/0x0FFC   (HTC Corporation)
        Device Version Number:   0x0228
        Number of Configurations:   1
        Manufacturer String:   2 "HTC"
        Product String:   3 "Android Phone"
        Serial Number String:   4 "HT13PTJ08628"
    Configuration Descriptor (current config)   
        Length (and contents):   98
            Raw Descriptor (hex)    0000: 09 02 62 00 03 01 00 80  FA 08 0B 00 02 02 06 FF  
            Raw Descriptor (hex)    0010: 07 09 04 00 00 01 02 02  FF 05 05 24 00 10 01 05  
            Raw Descriptor (hex)    0020: 24 01 00 01 04 24 02 00  05 24 06 00 01 07 05 82  
            Raw Descriptor (hex)    0030: 03 08 00 09 09 04 01 00  02 0A 00 00 06 07 05 81  
            Raw Descriptor (hex)    0040: 02 00 02 00 07 05 01 02  00 02 00 09 04 02 00 02  
            Raw Descriptor (hex)    0050: FF 42 01 00 07 05 83 02  00 02 00 07 05 02 02 00  
            Raw Descriptor (hex)    0060: 02 00 
        Number of Interfaces:   3
        Configuration Value:   1
        Attributes:   0x80 (bus-powered)
        MaxPower:   500 mA
        Interface Association   Communications-Control
            First Interface   0
            Interface Count   2
            Function Class   2   (Communications-Control)
            Function Subclass   6
            Interface Protocol   255
            Function String   7 "RNDIS"
        Interface #0 - Communications-Control ..............................................   "RNDIS Communications Control"
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   2
            Interface Protocol:   255
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Call Management Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 01 00 01 
            Comm Class Abstract Control Management Functional Descriptor   
                Raw Descriptor (hex)   0000: 04 24 02 00 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 00 01 
            Endpoint 0x82 - Interrupt Input   
                Address:   0x82  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   8  (8 x 1  transactions opportunities per microframe)
                Polling Interval:   9 (256 microframes (32 msecs) )
        Interface #1 - Communications-Data/Unknown Comm Class Model ..............................................   "RNDIS Ethernet Data"
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   0
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
            Endpoint 0x01 - Bulk Output   
                Address:   0x01  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   66   (Vendor-specific)
            Interface Protocol:   1
            Endpoint 0x83 - Bulk Input   
                Address:   0x83  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   512
                Polling Interval:   0 ( Endpoint never NAKs)
    Device Qualifier Descriptor   
        Descriptor Version Number:   0x0200
        Device Class   0   (Composite)
        Device Subclass   0
        Device Protocol   0
        Device MaxPacketSize:   64
        Number of Configurations:   1
        bReserved:   0
    Other Speed Configuration Descriptor   
        Length (and contents):   98
            Raw Descriptor (hex)    0000: 09 07 62 00 03 01 00 80  FA 08 0B 00 02 02 06 FF  
            Raw Descriptor (hex)    0010: 07 09 04 00 00 01 02 02  FF 05 05 24 00 10 01 05  
            Raw Descriptor (hex)    0020: 24 01 00 01 04 24 02 00  05 24 06 00 01 07 05 82  
            Raw Descriptor (hex)    0030: 03 08 00 20 09 04 01 00  02 0A 00 00 06 07 05 81  
            Raw Descriptor (hex)    0040: 02 40 00 00 07 05 01 02  40 00 00 09 04 02 00 02  
            Raw Descriptor (hex)    0050: FF 42 01 00 07 05 83 02  40 00 00 07 05 02 02 40  
            Raw Descriptor (hex)    0060: 00 00 
        Number of Interfaces:   3
        Configuration Value:   1
        Attributes:   0x80 (bus-powered)
        MaxPower:   500 mA
        Interface Association   Communications-Control
            First Interface   0
            Interface Count   2
            Function Class   2   (Communications-Control)
            Function Subclass   6
            Interface Protocol   255
            Function String   7 "RNDIS"
        Interface #0 - Communications-Control ..............................................   "RNDIS Communications Control"
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   2   (Communications-Control)
            Interface Subclass;   2
            Interface Protocol:   255
            Comm Class Header Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 00 10 01 
            Comm Class Call Management Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 01 00 01 
            Comm Class Abstract Control Management Functional Descriptor   
                Raw Descriptor (hex)   0000: 04 24 02 00 
            Comm Class Union Functional Descriptor   
                Raw Descriptor (hex)   0000: 05 24 06 00 01 
            Endpoint 0x82 - Interrupt Input   
                Address:   0x82  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   8
                Polling Interval:   32 ms
        Interface #1 - Communications-Data/Unknown Comm Class Model ..............................................   "RNDIS Ethernet Data"
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   10   (Communications-Data)
            Interface Subclass;   0   (Unknown Comm Class Model)
            Interface Protocol:   0
            Endpoint 0x81 - Bulk Input   
                Address:   0x81  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x01 - Bulk Output   
                Address:   0x01  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
        Interface #2 - Vendor-specific   
            Alternate Setting   0
            Number of Endpoints   2
            Interface Class:   255   (Vendor-specific)
            Interface Subclass;   66   (Vendor-specific)
            Interface Protocol:   1
            Endpoint 0x83 - Bulk Input   
                Address:   0x83  (IN)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms
            Endpoint 0x02 - Bulk Output   
                Address:   0x02  (OUT)
                Attributes:   0x02  (Bulk)
                Max Packet Size:   64
                Polling Interval:   0 ms

Steady yoyo'ing of network change events emitted by configd

First, thanks ever so much for the driver. Not sure that this is a HoRNDIS specific problem.

Setup: OS X 10.10.1 installed HoRNDIS rel7 used with a Nexus 5 running Lollipop (5.0).

Some combination of this software (all have been updated to the latest version in the past few days), is now causing configd to signal a steady stream of network change events as appended log evidences. As the network gets reconfigured, packets are delayed for a short time, which both causes a bit of stutter for connectivity and most annoyingly causes my VPN client to reconnect. If I connect to the same phone over a wireless hotspot, I don't observe the same sort of network hiccups.

Nov 21 09:32:32 illin configd[26]: network changed: v4(en6!:192.168.42.89) DNS! Proxy SMB
Nov 21 09:32:33 illin configd[26]: network changed: v4(en6:192.168.42.89) v6(utun0+:fe80::5b37:924c:5a8c:49bd) DNS* Proxy SMB
Nov 21 09:32:41 illin.local configd[26]: network changed: v4(en6!:192.168.42.89) v6(utun0:fe80::5b37:924c:5a8c:49bd) DNS! Proxy! SMB
Nov 21 09:32:42 illin.local configd[26]: network changed: v4(en6:192.168.42.89) v6(utun0-:fe80::5b37:924c:5a8c:49bd) DNS! Proxy! SMB
Nov 21 09:32:42 illin configd[26]: network changed: v4(en6!:192.168.42.89) DNS! Proxy SMB
Nov 21 09:32:43 illin configd[26]: network changed: v4(en6:192.168.42.89) v6(utun0+:fe80::5b37:924c:5a8c:49bd) DNS* Proxy SMB
Nov 21 09:32:44 illin configd[26]: network changed: v4(en6!:192.168.42.89) v6(utun0:fe80::5b37:924c:5a8c:49bd) DNS! Proxy! SMB
Nov 21 09:32:45 illin.local configd[26]: network changed: v4(en6:192.168.42.89) v6(utun0-:fe80::5b37:924c:5a8c:49bd) DNS! Proxy! SMB
Nov 21 09:32:45 illin.local configd[26]: network changed: v4(en6!:192.168.42.89) DNS! Proxy SMB
Nov 21 09:32:46 illin.local configd[26]: network changed: v4(en6:192.168.42.89) v6(utun0+:fe80::5b37:924c:5a8c:49bd) DNS* Proxy SMB

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.