How to access serial number of iPhone using a Windows Application (Any Language) - iphone

Basically I want to grab the serial number from an iphone. On windows when you click properties on the phone, you can look at the serial number. I have tried using different libraries for node and java that use libusb but I cannot seem to pull the serial number. Are there any libraries that already have this functionality or code that can let me easily pull the serial number (preferably something that uses a library like libusb so I can use it on linux)

This library will get you there.
https://github.com/0xFireball/MK.MobileDevice

Related

How to set MAC address and other keys when building aosp?

In the process of building aosp, we do some steps and after all we have a .img or otapackage to burn on device.
But I want to set mac addresses and serial numbers when building? I am working on AMLogic platform and I want SPECIALLY to burn my keys on EFUSE part of chip so later no one can change them!

Multiple Serial connection from Arduino to Qt Creator and Matlab

I am currently doing a project that uses this 3 softwares. Qt, Arduino Uno and MAtlab.
In my project, I was planning to use Qt to transmit an input value into Arduino in which Arduino will give a feedback in return, in which the feedback output is serially received by Matlab.
I have tried performing the serial connection, unfortunately Arduino Uno can only initiate serial connection with either one of them, and not both.
Is there any way to perform multiple transmit/received method between this Qt-arduino-Matlab serial connection?
Thank you for your time and aid
If I understand correctly, you have an Arduino device as serial port, and you want to communicate with it from Matlab and Qt simultaneously under the same host computer.
Under Windows, there seems no simple solution, unless you write some low level code to open the device with special share mode.
Under unix, you can open the serial port from Qt (it seems this works for you), and if needed, you start Matlab as sudo, so you have full control over the serial port, which allows you to open it again.

Sending serial data without RS232 port

I want to send data serially from MATLAB, but my laptop doesn't have a serial port. Do I have to use a USB-to-RS232 converter? Will my program remain the same?
I have some RS232-USB-Converters and never had any trouble. I need adapters for embedded devices and embedded development.
If your driver is properly installed and works then it is presented as an serial device to the OS.
The device presented (on linux) is named differently (ttyUSB) but that doesn't matter.
And using stdio functions like fopen/fclose is one more layer above (libcall, not syscall).

iOS convert CFUUID to MAC Address

I know CFUUID is generated from MAC address and a few other stuff. So is there anyways to get the MAC address back from CFUUID?
We have a few bluetooth devices and all the user knows is the last 3 parts of the MAC address which is written on the device. So we wanna give the user and option to select the right device. On the iOS side, looks like all we have the the CFUUID. So is there's a way to convert the UUID back to mac address?
Or even better would be if there's a way to get a peripheral's MAC address directly instead of UUID, but doesn't seem like that's possible
Thanks
Well, as you might have learnt from the comments to your question, the answer is clearly: NO. It is not possible (practically) to get the seeds that generated a particular UUID. Provided that in fact the algorithm that generated your UUID did used the MAC Address of your device to generate it, and I guess you cannot guarantee that it is the case for the UUID generator you use, unless you have access to the UUID Generator code or algorithm (UUID Version 1 probably?) and it is not a opaque operation to you (Immediately defeating the very purpose of the uuid generation algorithm).
While you clearly are onto something when you say that the generation of a UUID might use the MAC address of the device, other components like timestamps, hashing, UDID (iOS Devices) and so on. The fact is that the MAC Address, could be just one of many factors used to generate the UUID so if you were to spend a lot of computing power into trying to deconstruct it out of a big sample of UUIDs generated by the same system under the same conditions; We will probably be talking about a quantum computer wasting computing power trying to explore as many combinations as particles in the observable universe so you get a MAC address that you may as well get as a characteristic from a Bluetooth peripheral if you like, and incidentally defeating the purpose of having a UUID in the first place, once more.
On the other hand, further to what somebody commented on your question: the reason you find UUIDs so boring, building on top of the previous paragraph idea, is so you can avoid collisions: Generating duplicates not just coming from the ones generated by your computer but from all the other ones generated by every device out there every moment of the day (to authenticate requests, create string index keys in a database, or identifying services and characteristics) so your cool service or characteristic named:
AAAAAAAA-BBBB-CCCC-DDDD-EEEEFFFF6666
does not get confused with another cool foo service or characteristic with the same UUID.
In general, for more information check wikipedia or just the Core Bluetooth Programming Guide, form the developer portal. It is still under NDA so you have to be a registered iOS Developer with active developer program credentials to read it.
I was looking for a way to deploy platform-independent, static configurations of BLE devices. I was getting discouraged (Apple's UUIDs are +/- meaningless, and the MAC/BDADDR which can be obtained on most/all other platforms is not accessible from CoreBluetooth). Fortunately, I noticed that the "Device Information Service" profile (0x180A) contains a "System ID" attribute (0x2A23) which encodes the device's unique MAC/BDADDR address. I don't know if it is mandatory for a BLE device to expose this service, however.
there is a way to get mac address for ios device. but only works on ios8 and later. no private api .https://github.com/Baoge2012/MacAddressLibDemo

How can I speed up the first-time loading of a Windows device driver for an USB device?

We have some boxes running Windows XP for an automated production process. I (not me personally but a robot) connect new USB devices to these boxes. There is a device driver for this device type and it's loaded after connecting a device and running like a charm.
But ... it takes about 8 to 10 seconds after pluging in a new device until it is accessible. When I connect an already previously seen device again it only takes 3 seconds. The driver has a catalog file. It's not signed by Microsoft WHQL but uses a test certificate we have installed on the machines.
There is only one inf/pnf file to be considered and so I wonder why it takes so long to detect a new device, create the information in the registry and load the driver.
Time is money and so I need to speed up the process.
Any hints for me? Especially does somebody know that WHQL-certified drivers are recognized more quickly by Windows / device manager?
These devices have unique serial numbers, correct? That's part of what Windows uses to create the per-instance data necessary to track whether it's seen this device before. In the case where you plug in a device that's already seen before, Windows will pick up the old instance data and load the appropriate driver. If you plug in a device that Windows has never seen before (e.g. same VID/PID but different serial number), it needs to go through the process of creating registry entries, parsing the INFs to find the correct driver, etc.
Are you sure those devices that show up quickly with WHQL'd drivers have never been attached to the system before? Also, are these systems configured to connect to Windows Update to look for drivers when a new device is attached? It's definitely true that Windows will prefer a WHQL'd driver over an unsigned (or self signed) package, so it's possible that Windows is trying hard to find something else before defaulting to your self signed driver.
-scott