Hardware

RSS for tag

Delve into the physical components of Apple devices, including processors, memory, storage, and their interaction with the software.

Post

Replies

Boosts

Views

Activity

iPad external display inconsistency
iPadOS behavior with secondary displays is inconsistent. Firstly, Apple has not published what is the lower limit for supporting the extended display in non-mirrored mode. In iPadOS 16.1 beta even lower resolutions were supported, but it looks like the monitor must now support at least Full HD (1920x1080). Otherwise there will only be the possibility for mirroring the iPad screen and the Arrangement menu will not be visible in iPadOS Settings. This is the case with all iPadOS versions from 16.1 to 18.2 (beta). Secondly, even on monitors that do support Full HD or better resolution, iPadOS may still choose to only support mirroring with a strange resolution such as 1280x1024 even though 1920x1080 would be available. I have tested with various iPad Pro 11" models from gen 1 to gen 4, various USB-C adapters, and cables. Extended display does work properly with certain monitors, but the above issues still exist on others. I have filed feedbacks FB13576000 (Feb '24) and FB11467189 (Sep '22) on this bug. On the Support Community Forums there are a lot of users mentioning the same issues.
1
0
253
Oct ’24
iOS: Can third party app see USB descriptors?
We have a USB dongle that would like to connect to the iPhone for power (using USB-C). Since it is not MFi, we will then use bluetooth for communication between the dongle and an app. When doing bluetooth pairing between the dongle and iPhone, it would be ideal to only see the dongle that is plugged into the iPhone listed in the app. This is to avoid connecting to other dongles that may be in the area. We think this could be possible using USB descriptors. We assume the iPhone can read the USB descriptors for non-MFi dongles. Our question is, can our app see the USB-descriptors of the dongle? Is iOS able to pass that info to the app? Then, we could have a unique USB descriptor for each dongle and the app could only list bluetooth devices with that descriptor (effectively filtering out any other dongles in the area). Any help and/or feedback is greatly appreciated :)
0
0
207
Oct ’24
iPhone/iPad lose Data connection when using USB-C to USB-C cables after reboot on ARM Macs
I've noticed an issue when using an iPhone or iPad that uses a USB-C port (such as the iPhone 15 Pro or iPad Pro 12.9" 6th generation) and a USB-C to USB-C cable on ARM Macs (such as the M2 Mini). After rebooting the Mac, the iOS device is no longer recognized despite the iOS device continuing to charge. I can temporarily resolve the issue by reseating the USB-C cable, which allows the device to be recognized again by applications like Finder. However, this isn't a practical solution due to the number of M2 Minis we have (each with an attached iPhone for testing) and the Mini's frequent automatic reboots throughout the day. Using a USB-A to USB-C cable (with USB-A connected to the Mac Mini) seems to avoid this problem altogether, as the iOS device remains consistently recognized after a reboot. As the title suggests, this issue appears to be specific to ARM-based Macs. We've encountered it on both the M2 Mini and a 2021 Macbook Pro with the M1 Max chip. Interestingly, we haven't been able to reproduce this behavior on Intel-based Macs (tested on an 8,1 Mac Mini and a 2019 16" Macbook), where the iOS devices remain connected after a reboot when using a USB-C to USB-C cable. Here are some additional details: iOS Devices & Versions: iPhone 15 Pro: Issue persists on both iOS 17.1 and iOS 18.0.1 iPad Pro 12.9" (6th generation): Issue persists on both iPadOS 17.6.1 and iPadOS 18.0.1 Cables: Apple's 60W USB-C Charge Cable (USB 2.0): Issue occurs Generic/Third-party USB-C cable (USB 3): Issue occurs
1
0
262
Oct ’24
AVCaptureControl
I added some AVCaptureControl, then removed all of it. The phenomenon is that AVCaptureSession controls are 0 in number, but the keys can still display the previous AvcaptureControls guard(_session.supportsControls) else return; for (AVCaptureControl *control in _session.controls) { [_session removeControl:control]; } @weakify(self); if (self.captureControl.zoom) { if (self.zoomScaleControl) { self.zoomScaleControl.enabled = false; [_session removeControl:self.zoomScaleControl]; } AVCaptureSlider *zoomSlider = [self.captureControl.zoom fetchCaptureSlider]; [zoomSlider setActionQueue:dispatch_get_main_queue() action:^(float zoomFactor) { @strongify(self); if ([self.dataOutputDelegate respondsToSelector:@selector(videoCaptureSession:tryChangeZoomScale:)]) { [self.dataOutputDelegate videoCaptureSession:self tryChangeZoomScale:zoomFactor]; } }]; self.zoomScaleControl = zoomSlider; } else { self.zoomScaleControl = nil; } if (self.captureControl.exposure) { if (self.exposureBiasControl) { self.exposureBiasControl.enabled = false; [_session removeControl:self.exposureBiasControl]; } AVCaptureSlider *exposureSlider = [self.captureControl.exposure fetchCaptureSlider]; [exposureSlider setActionQueue:dispatch_get_main_queue() action:^(float bias) { @strongify(self); if ([self.dataOutputDelegate respondsToSelector:@selector(videoCaptureSession:tryChangeExposureBias:)]) { [self.dataOutputDelegate videoCaptureSession:self tryChangeExposureBias:bias]; } }]; self.exposureBiasControl = exposureSlider; } else { self.exposureBiasControl = nil; } if (self.captureControl.len) { if (self.lenControl) { self.lenControl.enabled = false; [_session removeControl:self.lenControl]; } ORLenCaptureControlCustomModel *len = self.captureControl.len; AVCaptureIndexPicker *picker = [len fetchCaptureSlider]; [picker setActionQueue:dispatch_get_main_queue() action:^(NSInteger selectedIndex) { @strongify(self); if ([self.dataOutputDelegate respondsToSelector:@selector(videoCaptureSession:didChangeLenIndex:datas:)]) { [self.dataOutputDelegate videoCaptureSession:self didChangeLenIndex:selectedIndex datas:self.captureControl.len.indexDatas]; } }]; self.lenControl = picker; } else { self.lenControl = nil; } if ([_session canAddControl:self.zoomScaleControl]) { [_session addControl:self.zoomScaleControl]; } else { self.zoomScaleControl = nil; } if ([_session canAddControl:self.lenControl]) { [_session addControl:self.lenControl]; } else { self.lenControl = nil; } if ([_session canAddControl:self.exposureBiasControl]) { [_session addControl:self.exposureBiasControl]; } else { self.exposureBiasControl = nil; } [_session setControlsDelegate:self queue:GetCaptureControlQueue()];
0
0
159
Oct ’24
Iphone 14 Pro Max Keeps restarting
My phone keeps restarting randomly every few seconds to every few minutes at random. It also feels like its overheating at the same time. Heres the panic log: bug_type":"210","timestamp":"2024-10-22 12:23:26.00 -0400","os_version":"iPhone OS 18.0.1 (22A3370)","roots_installed":0,"incident_id":"E2DC5427-D751-4339-827B-181625987FCF"} { "build" : "iPhone OS 18.0.1 (22A3370)", "product" : "iPhone15,3", "socId" : "8120", "socRevision" : "11", "incident" : "E2DC5427-D751-4339-827B-181625987FCF", "crashReporterKey" : "df026d01d48e533d7258182dafc82a95473d59d4", "kernel" : "Darwin Kernel Version 24.0.0: Thu Aug 8 01:15:37 PDT 2024; root:xnu-11215.2.562/RELEASE_ARM64_T8120", "date" : "2024-10-22 12:23:26.77 -0400", "panicString" : "panic(cpu 0 caller 0xfffffff040697444): AOP PANIC - !pulse pearl@0x1173490 - power(2) OUTBOX3 not ready - \nuser handlers:\nEiger::probe=0 [e4 30 1] conn=0\n\nPrAS Comp = stat [0, 0], dbg [205452, 41680, 416832, 0, 12665, 404163, 1, 9973, 4] \n\n\n!pulse pearl@0x1173490\nRTKit: RTKit-2758.2.1.debug - Client: iphone15aop:DEBUG:AppleSPUFirmwareBuilder-632.0.717199\n!UUID: 26e83ac2-7536-30ff-9f4c-57d91477a498\nASLR slide: 0x0000000000000000\nTime: 0x000000025b5db6d5\n\nFaulting task 2 Call Stack: 0x00000000011078c4 0x0000000001107250 0x0000000001107064 0x000000000110acf4 0x000000000110adb4 0x00000000010ef884 0x00000000010f3c38 0x00000000010e9438 0x00000000010148cc 0x00000000010e93a8 0x00000000011069b4 0x0000000001106730
0
0
262
Oct ’24
Commissioning Matter Thread Device without Hub
I have been looking at the new feature in iOS 18 where it is possible to pair Matter accessories without a hub. Using the Home app I can successfully commission and control a Matter Thread Light Bulb directly (without a home hub in the network). I have an iPhone 15 Pro which includes the thread hardware. I then tried to commission the same device in my own app using the MatterSupport framework. In this case the same user interface is displayed as when using the Home App but an error is displayed - "Thread Border Router Required." Is it also possible to connect directly to a thread Matter device when using MatterSupport or does this only work when using the Home app?
3
0
353
Oct ’24
Battery issue on replaced phone
I recently bought a new iPhone SE and transferred all of my data. I want to keep the old iPhone and have removed most of the Apps. However when I charge it fully at night, the battery is almost dead the following morning. This was not the case before I bought the new phone. When I check the battery app, it doesn't indicate any use that would explain why the battery is almost exhausted.
1
0
222
Oct ’24
Battery Displays for Custom Hardware
I am having difficulty figuring out two indicators for a custom piece of battery hardware. Firstly, on the home screen, scrolling all the way to the left in the widget screen, you can see the battery for connected wireless devices, electronic pencils, etc. Additionally, when you use Apple battery packs, you can see the battery for it on the top right of your phone I am wondering where I should look to see how I could integrate both of these. I have searched the documentation for a while, and I am having a hard time knowing where to start. If anyone can point me to something, it would be very appreciated. Thank you!
0
0
220
Oct ’24
USB Power Delievery protocol Power Role Swap request issue
Hello, We are currently using Hub which uses CYPD3125 PD chip, It is used to connect with both Android and iOS devices. While our device works seamlessly with Android devices, we are encountering an issue when connecting to iOS devices, specifically the iPad Pro. Issue Description: The Powerpack/Hub is intended to handle Power Delivery (PD) communications. When connected to an Android device, the PD packets are exchanged correctly, and the device functions as expected. However, when connected to an iPad Pro, we observe abnormal PD packet exchanges which lead to malfunctioning of the Powerpack/Hub. Observations: Attached is a snapshot of the PD packets we captured while troubleshooting the issue in a scenario where the AC power adapter was initially connected. After a few seconds, we removed the plug, waited for a few seconds, and then plugged in the AC power again. This was the scenario when we captured the PD packets, as seen in the snapshot. The packets appear to be different when compared to those captured with an Android device. Below is the screenshot of the PD packet capture with Apple device: Below is the screenshot of the PD packet capture with Android device: Technical Observations: Initial Connection: The connection initiates but does not follow the expected PD communication sequence. Packet Structure: In the capture, the iPad Pro shows a series of PD Msg types including Src Cap, Req, and Accept, but there are also unexpected messages such as Hard Reset and Soft Reset that disrupt the communication. Timing Issues: The timestamps show irregular intervals between packets when connected to the iPad Pro, suggesting possible timing synchronization issues. Unexpected Resets: The capture shows a Hard Reset event at packet 9, which is not observed in the Android device captures. This suggests the iPad Pro might be detecting an error and attempting to reset the connection. Steps Taken: Verified the firmware and hardware implementation of the Powerpack/Hub. Ensured compliance with USB PD standards. Tested with multiple iPad Pro units to rule out device-specific issues. Additional Details: We have also tested with iPad Air and observed the same issue. The tests were conducted on both iOS version 16 and 17. We are attaching a USB PD capture with an Android device where it is working fine as expected. The PD packets were captured in a scenario where the AC power adapter was initially connected. After a few seconds, we removed the plug, waited for a few seconds, and then plugged in the AC power again. This was the scenario when we captured the PD packets, as seen in the snapshot. Despite these steps, the issue persists. We seek guidance on any issues or peculiarities with iOS devices and USB PD communication. Thanks
0
0
153
Oct ’24