Coder Social home page Coder Social logo

Comments (13)

nikias avatar nikias commented on May 27, 2024 5

I'm working on a solution. Stay put.

from libusbmuxd.

eni9889 avatar eni9889 commented on May 27, 2024 1

@nikias any updates on wireless devices? i.e Apple TV? This is also an issue i'm running into

from libusbmuxd.

nikias avatar nikias commented on May 27, 2024 1

When using usbmuxd_get_device_list() it will include all devices reported back by usbmuxd. You can see how libimobildevice filters out non-USB devices in idevice_get_device_list():

https://github.com/libimobiledevice/libimobiledevice/blob/master/src/idevice.c#L307

You can also use the usbmuxd_events_subscribe() (or the older usbmuxd_subscribe()) API to subscribe for events. The callback function signature is defined as

void callback_function_name(const usbmuxd_event_t *event, void *user_data)

By accessing the event->device member you can access the usbmuxd_device_info_t structure, and then it's conn_type member. So basically you can ignore non-USB devices in the callback with a simple

if (event->device.conn_type != CONNECTION_TYPE_USB)
    return;

from libusbmuxd.

aburgh avatar aburgh commented on May 27, 2024

The usbmuxd ("USB multiplexer daemon") daemon manages the list of devices and facilitates communication with them. When Apple added support for WiFi backups and syncing, they did so by extending usbmuxd, so it is very much an intended behavior. I would like to see your proposed patch to usbmuxd_get_device_list as a configuration option, though. It would also be useful if the APIs in libimobiledevice allowed restricting connects to USB so it could selected per-connection.

from libusbmuxd.

fishjam avatar fishjam commented on May 27, 2024

After my debug, I found that if call plist_dict_get_item(props, "ConnectionType") in device_record_from_plist(libusbmuxd.c) , then can get the phone connection type, such as "Network" or "USB", so I can try to fix this bug later.

from libusbmuxd.

fishjam avatar fishjam commented on May 27, 2024

when we try to fix this issue, consider two solutions:

  • 1.simply filter the devices that connected by WiFi.
  • 2.provide user with the additional parameters to filter the device. such as:
  idevice_id --list --all   <== list all the devices(USB + Network)
  idevice_id --list --usb <== list usb devices
  idevice_id --list --network <== list network devices.

It seems solution 2 is perfect, but the device with USB and network has same UDID, and idevcie_id and many other tools differentiate device only by UDID. it can not work, unless change all the tools and user CI scripts.

So consider our real demand, solution 1 is the best.

from libusbmuxd.

jflow avatar jflow commented on May 27, 2024

Solution 1 is not the best! Apple has devices out now without a usb port! AppleTV 4k only has network access for this. I need to work with this new usbless device.

from libusbmuxd.

rileytestut avatar rileytestut commented on May 27, 2024

Would the solution you're working on allow for interacting with wireless devices? Or just prevent wireless devices showing up as connected? I'm in the same boat, trying to connect to my Apple TV 4K from Linux machine.

from libusbmuxd.

jflow avatar jflow commented on May 27, 2024

+1 for an update, at least how things are progressing....

from libusbmuxd.

LittleLydia avatar LittleLydia commented on May 27, 2024

I'm working on a solution. Stay put.

@nikias Did the latest version solve this problem?

from libusbmuxd.

mattijsf avatar mattijsf commented on May 27, 2024

@nikias I noticed you mentioned you're working on a proper solution for this issue here: #53 (comment)

Any idea when / how this will land into libusbmuxd and/or libimobiledevice?

from libusbmuxd.

scheilch avatar scheilch commented on May 27, 2024

News about it?

from libusbmuxd.

munchkin09 avatar munchkin09 commented on May 27, 2024

Any updates on this??

from libusbmuxd.

Related Issues (20)

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.