Faraday cage से AirPods Pro 2 की hearing aid क्षेत्रीय पाबंदी को बायपास करना
(lagrangepoint.substack.com)- iOS 18.1 के बाद AirPods Pro 2 को hearing aid की तरह इस्तेमाल करना संभव हुआ, लेकिन क्षेत्रीय पाबंदियों की वजह से भारत में hearing loss वाले यूज़र इसकी मुख्य सुविधा तुरंत इस्तेमाल नहीं कर पा रहे थे
- पाबंदी की शर्तें कई स्तरों पर थीं, जैसे समर्थित देश में रहना, iOS 18.1 या उससे ऊपर, और firmware 7B19 या उससे ऊपर; डिवाइस IP, locale, GPS, mobile network और WiFi location information को मिलाकर location तय कर सकता था
- Proxy manipulation और Xcode की CoreLocation simulation विफल रहीं, और
locationdlogs व settings में मिले संकेतों से लगा कि simulated location का उपयोग regulatory domain तय करने में नहीं हो रहा था - अंत में Wigle data और ESP32 की मदद से California के Menlo Park का WiFi environment नकल किया गया, और आसपास के signals कम करने के लिए aluminium foil box व microwave oven के साथ Faraday cage प्रयोग किया गया
- एक बार activate हुई Hearing Aid सुविधा iCloud account में sync हो गई और दूसरे devices पर भी इस्तेमाल की जा सकती थी; असली यूज़र्स के लिए region-locked feature खोलने की reproducible प्रक्रिया बनाना मुख्य चुनौती रह गया
AirPods Pro 2 hearing aid feature की क्षेत्रीय पाबंदी
- iOS 18.1 update के तुरंत बाद hearing loss वाले दादा-दादी के लिए AirPods Pro 2 खरीदा गया, लेकिन Apple ने Hearing Aid feature को अमेरिका और कुछ देशों तक सीमित रखा, इसलिए भारत में इसे व्यवहार में इस्तेमाल करना संभव नहीं था
- आम hearing aids की कीमत correction क्षमता के आधार पर ₹50,000 से ₹8L से भी अधिक हो सकती है
- Apple ने प्रचार किया कि AirPods का hearing aid feature खासकर speech frequencies के आसपास hearing को 60dbHL तक correct कर सकता है
- अगर यूज़र supported location में हो, उसके पास AirPods Pro 2 हों, और वह iOS 18.1 या उससे ऊपर तथा firmware 7B19 या उससे ऊपर इस्तेमाल कर रहा हो, तो Health app में उस feature की screen दिखाई दे सकती थी
- iOS 18.1 या उससे ऊपर वाले device पर feature “activate” करने पर, firmware 7A294 जैसे पुराने version वाले devices पर भी feature push किया जा सकता था
iOS location कैसे तय करता है
- शुरुआती जांच में पता चला कि iOS device कई रास्तों से यूज़र का country और region तय कर सकता था
https://gspe1-ssl.ls.apple.com/pep/gccपर GET request भेजकर IP location आधारित country code लेना- Apple Store region settings check करना
- Device locale, time zone और language का संदर्भ लेना
- GPS और mobile network वाले devices में location का अधिक direct निर्णय भी संभव है
- GPS signal आधारित location
- MCC/MNC को internal database से compare करने वाला mobile network आधारित location determination
- प्रयोग का दायरा घटाने के लिए communication capability के बिना iPad 10th generation WiFi model इस्तेमाल किया गया
- GPS और cell tower spoofing का तरीका भी Faraday cage बनाने पर असंभव नहीं है, लेकिन उसमें बहुत अधिक काम चाहिए था
विफल bypass: proxy और location simulation
- पहले iOS settings में locale और region बदले गए, और device network traffic को laptop से proxy करके geolocation endpoint की response को
INकी जगहUSजैसा दिखाया गया - Xcode की simulated location सुविधा से CoreLocation को भी spoof करने की कोशिश की गई
- यह तरीका काम नहीं आया
- Certificate pinning के कारण कई apps और settings screens में Apple server connection fail हो गया
- संभव था कि feature activation के लिए जरूरी Apple server connection block हो गया हो, लेकिन इसे पूरी तरह verify नहीं किया जा सका
- Console logs में ऐसे messages दिखे जिनसे लगा कि feature activate होना चाहिए, लेकिन असली Hearing Aid settings screen नहीं खुली
locationd में मिले संकेत
- अगले दिन logs दोबारा देखने पर, IP location और locale spoof करने के बावजूद ऐसे messages दिखे जैसे device यह मान रहा हो कि वह अमेरिका में नहीं है
countrydऔरlocationdbinaries extract करके संबंधित strings खोजी गईंlocationdके अंदरAllowSimulatedLocationनाम की boolean setting मिली, जिसकी default value 0 थीskipUpdatingRegulatoryDomaingetter भी मिला, और अनुमान हुआ किsendUpdateToRDIfAllowedमें इसका इस्तेमाल regulatory domain update करना है या नहीं, यह तय करने के लिए होता है- निष्कर्ष निकला कि Xcode के built-in tools से CoreLocation simulate करने पर भी Hearing Aid के regulatory domain determination में यह काम नहीं करता
- Hearing Aid feature को macOS से control किया जा सकता है, लेकिन activation iOS device के जरिए करनी पड़ती थी
- SIP disabled macOS पर binary modify करके feature को सीधे activate करने का तरीका भी संभावना के रूप में बचा रहा, लेकिन इस दिशा में आगे जांच नहीं की गई
WiFi location information को धोखा देने का तरीका
- Modern devices आसपास के WiFi SSID, router/device MAC addresses और GPS को मिलाकर city-level location triangulate कर सकते हैं
- WiFi-only iPad GPS या cellular के बिना भी apps में accurate location दिखा पा रहा था, इसकी वजह भी WiFi positioning थी
- Public WiFi location databases में से Wigle पर sign up करके California के Menlo Park का data लाया गया
- Skylift को fork करके modify किया गया, और ESP32 को WiFi SSIDs तेज़ी से cycle करके broadcast करने के लिए configure किया गया
- यह तरीका ESP32 से किसी दूसरे region के wireless environment की नकल कराता है
- Cycle होने वाले SSIDs की संख्या 10 से बढ़ाकर 100 की गई
- Lagrange Point के आसपास घरों से आने वाले असली WiFi networks बहुत ज्यादा थे, इसलिए अगर इन signals को कमजोर या overpower न किया जाता, तो iPad दूसरे आसपास के networks report कर सकता था
Faraday cage और microwave oven experiment
- शुरुआती Faraday cage cardboard box को aluminium foil से लपेटकर बनाई गई
- Box के अंदर California SSIDs broadcast करने वाला ESP32 और iPad रखे गए, और iPad को console logs व internet access के लिए laptop से connect किया गया
- WiFi और microwave oven दोनों 2.4GHz band इस्तेमाल करते हैं, इसका फायदा उठाते हुए leaking microwave oven को maximum power पर चलाकर आसपास के जिद्दी network signals block करने की कोशिश की गई
- iPad को box में रखने के 5 मिनट बाद reboot करके network चालू करने वाला script बनाया गया
- पहली कोशिश में iPad अब भी
INregion के रूप में पहचाना गया, लेकिन Faraday cage, microwave interference और reboot process को कई बार adjust करने के बाद console में desired region change message confirm हुआ - इसके बाद iPad को बाहर निकालकर AirPods खोलते ही तुरंत Hearing Aid setup process दिखाई दी
Repeatable procedure और bulk activation plan
- Proof of concept पूरा होने के बाद, जिन लोगों को इस feature की जरूरत है उनके लिए इसे खोलने हेतु अधिक stable reproduction procedure बनाना शुरू किया गया
- कई दिनों तक experiment repeat करते हुए अधिक permanent Faraday cage बनाई गई
- Bengaluru में जिन लोगों को AirPods को hearing aid की तरह इस्तेमाल करने से मदद मिल सकती है, उनके लिए Lagrange Point पर एक छोटा activation camp चलाने की योजना बनाई गई
- Participation या updates X account और tweet thread के जरिए लेने का फैसला किया गया
Activation के बाद behavior
- Hearing Aid feature AirPods में push होने वाले equalizer preset जैसा दिखा, और transparency mode को replace करता था
- एक बार Hearing Aid feature activate करने के बाद feature flag iCloud account में sync हो गया
- इस sync की वजह से हर device पर वही process repeat किए बिना feature इस्तेमाल किया जा सकता था
1 टिप्पणियां
Hacker News की रायें
Hearing Aid फ़ीचर असल में AirPods पर पुश किया जाने वाला equalizer preset है, और लगता है कि यह transparency mode की जगह लेता है
अगर Apple ने इसे “hearing aid” कहकर market न किया होता या medical terminology का इस्तेमाल न किया होता, तो शायद regulators इस पर टूट नहीं पड़ते। Parametric equalizer और transparency mode वाले दूसरे true wireless earbuds भी यही काम कर सकते हैं
इसके बदले marketing advantage खो जाता, लेकिन शायद वही अपने-आप में एक calculated बड़ा risk रहा होगा। ऐसे devices में बहुत ज़्यादा processing power और flexibility भरी होती है। बदनाम JieLi SoC इस्तेमाल करने वाले $10 से कम के products में भी हर कान के लिए 160MHz 32-bit computer जैसा होता है
यह हैरानी की बात है कि अब तक open source firmware को आगे रखकर कोई true wireless earbuds नहीं आए, और लगता है कि China और Russia की communities में कुछ customization काम हुआ है
अगर Apple बस इतना कहे कि “यह hearing aid की तरह कुछ हद तक काम करता है”, तो store sales points पर साफ़ दिखने वाली जगहों पर posters लगाने वाले दूसरे brands के मुकाबले उसे काफी नुकसान होगा। बेशक online sales या जिन लोगों को बहुत high reliability ज़रूरी नहीं है, उनके लिए Apple अब भी जीत सकता है
https://electronics.sony.com/otc-hearing-aids
https://audiochamps.com/what-does-tws-mean/
यानी Bluetooth earbuds की बात है
मुझे लगा था volume जैसे कुछ और regulatory issues हो सकते हैं, लेकिन ठीक-ठीक क्या होगा, यह सूझ नहीं रहा
एक हिस्सा है कि “WiFi और microwave 2.4GHz की same frequency पर काम करते हैं, इसलिए leaking microwave को maximum power पर चलाकर हवा में मौजूद continuous network signals को block किया गया”, लेकिन दिलचस्प बात यह है कि WiFi जानबूझकर ऐसी interference से बचने की कोशिश करता है
Microwave अपने AC power source के zero-crossing point पर output नहीं देता, और उस interval में हवा में radio waves को disturb करने वाला कोई signal नहीं होता। WiFi transmit करने से पहले पहले सुनता है, इसलिए वह दूसरे devices से collide न करने की कोशिश करता है, और microwave signal इस detection को trigger करने के लिए काफी होता है
मुझे याद नहीं कि microwave half-wave तरीके वाला होता है जिससे हर सेकंड 60 बार 1/120 second के intervals बनते हैं, या फिर zero crossing के आसपास केवल वह threshold interval होता है जहां output interference के लिए पर्याप्त नहीं होता। यहां लगता है कि microwave ने असल में शायद ज़्यादा भूमिका नहीं निभाई होगी
हालांकि दूसरे समयों पर कोई ध्यान देने लायक असर नहीं दिखा था
Reddit पर किसी ने बताया कि एक special URL से hearing test फ़ीचर को सीधे access किया जा सकता है
x-apple-health://HearingAppPlugin.healthplugin/HearingTest
सोच रहा हूं कि क्या Hearing Aid mode चालू करने वाला कोई similar deep link भी मिल सकता है
https://www.reddit.com/r/AirpodsPro/comments/1gftyqo/is_the_...
एक हद तक अभी वाला तरीका ही ज्यादा आसान approach था
पक्का कुछ तो होगा। Apple ने iOS 18 में URL handler scheme बदल दी है, इसलिए पुराने repositories में जो इसे reference करते थे, वे अब काम नहीं करते
मैं Rithwik हूं, लेखकों में से एक। सवाल हों तो जवाब दूंगा
Apple के हिसाब से मैं अब भी पूरी तरह “Canadian” हूं। EU तक region-restricted third-party App Store related features बिल्कुल नहीं दिखते, और Apple Intelligence जैसे features जो EU में इस्तेमाल नहीं हो सकते, उन तक access है
Hearing aid फ़ीचर Canada और Spain दोनों में available नहीं है, इसलिए test नहीं कर सकता, लेकिन उत्सुक हूं कि hearing aid region restrictions Apple की दूसरी region restrictions/region activation features से कैसे अलग हैं
जानना चाहूंगा कि आपने कैसे शुरू किया, कोई recommend करने लायक resources हैं क्या। और आपने कहा कि आखिरकार बहुत महंगे earbuds खरीदने नहीं पड़े, तो असल में कौन से earbuds इस्तेमाल करते हैं या खरीदना चाहते हैं?
सोच रहा हूँ कि क्या यह सेटिंग कुछ समय बाद reset हो जाती है, या एक बार करने के बाद काम खत्म हो जाता है
चिंता है कि कहीं iPad या AirPods यह तय न कर लें कि वे India में बहुत लंबे समय से हैं और feature हटा दें
feature activate होने पर iCloud account में एक flag set हो जाता है, इसलिए आप कहीं भी travel करें, यह चलता रहता है। साथ ही AirPods के Transparency mode में एक equalizer profile push हो जाती है, जिससे hearing aid feature चालू हो जाता है
एक बार हो जाने के बाद, जब तक आप AirPods reset नहीं करते, यह बना रहता है
हालांकि एक दिलचस्प edge case है। अगर आपने किसी और के AirPods पर यह feature activate किया और उस व्यक्ति के device या account पर feature “available” state में नहीं है, तो वह अपने device से settings adjust नहीं कर पाएगा
यह मामला अच्छी तरह दिखाता है कि free software क्यों महत्वपूर्ण है। Region lock यहाँ बिल्कुल भी समझ में न आने वाली hostile practice है
अगर software या firmware free और open होता, तो region lock को patch करके हटाया या disable किया जा सकता था। शुरू से ही ऐसी restriction शामिल न होने की संभावना भी काफी ज्यादा होती
जिन देशों में यह approved है, वहाँ regulatory agencies को इसे medical assistive device के रूप में approve करना पड़ा होगा। अगर medical assistive devices वगैरह बिना approval के बिक सकें, तो ऐसी चीजें भी medical assistive device के नाम पर बेची जा सकती हैं जो सच में लोगों को घायल कर सकती हैं या उनकी जान ले सकती हैं
यहाँ समस्या यह है कि यह case नुकसान न पहुँचाने वाले assistive feature जैसा दिखता है, इसलिए इसे ban करना हास्यास्पद लगता है। लेकिन अगर regulation लागू न हो, तो उसका कोई मतलब नहीं रहता
आखिर में, हो सकता है दूसरे देशों की regulatory agencies धीमी हों, या सबसे खराब स्थिति में Apple ने approval के लिए apply ही न किया हो
जानना चाहता हूँ कि Hearing Protection mode असल में क्या करता है। Norway और North America के बाहर यह उपलब्ध नहीं है
मैंने पहले भी AirPods Pro 2 को ear protection के लिए इस्तेमाल किया है और यह काफी अच्छी तरह काम करता था। बस सोच रहा हूँ कि क्या “Hearing Protection” शब्द का इस्तेमाल सिर्फ US में किया जा सकता है इसलिए ऐसा है, या यह normal Pro 2 noise cancellation से सच में बेहतर feature है
Hearing Protection को काम करते सुनें तो यह multi-band compression जैसा लगता है। यानी audible frequency range को कई bands में बाँटना और हर band पर अलग से compression apply करना। हालांकि लगता है कि यह भी पहले से ही किया जा रहा था
सोच रहा हूँ कि क्या यह सच में उस accessibility feature customized Transparency mode से अलग है, जो hearing aid feature की announcement से पहले से था
Health app में save किए गए audiogram का इस्तेमाल किया जा सकता था। हालांकि customized Transparency mode की sound quality काफी खराब थी, comb filter जैसी लगती थी
वाकई शानदार। i3Detroit में walk-in closet के size का Faraday cage बना रहे हैं। बेशक यह US में है, इसलिए इस hack के लिए इसकी जरूरत नहीं, लेकिन एक Faraday cage होने के मजेदार कारण बहुत सारे हैं
सबसे बड़ा कारण यह है कि WOMC transmitter बिल्कुल पास में है, और EIRP 135,000 watts है। यह हर तरह के equipment में interfere करता है और दूसरे radio frequency measurements को मुश्किल बना देता है। Amplifier alignment जैसे काम करते समय बेहतर है कि पहले शांत environment में basics मजबूत कर लिए जाएँ, फिर intermodulation जैसे संभावित कारण जोड़े जाएँ
WiFi, Bluetooth आदि wireless equipment को आसपास के अनगिनत nodes के बिना debug किया जा सकता है। sniffer output में filter कर सकते हैं, लेकिन input को ही filter करना ज्यादा मजेदार है
frequency license की चिंता किए बिना 1G या 2G mobile networks चालू करके भी देख सकते हैं। Hackerspace के existing network में बाधा डाल सकने वाली aggressive WiFi techniques की practice भी कर सकते हैं
FCC-रहित zone में GPS spoofer से खेल सकते हैं, या जिम्मेदारी से किए जाने वाले मजेदार experiments कर सकते हैं। iPhone को अंदर बंद करके यह भी देख सकते हैं कि वह खुद reboot करता है या नहीं
devices को अंदर रखकर, license की चिंता किए बिना अंदर की हवा को radio waves से भर देने का मन कर रहा है
मैंने सच में Indian Institute of Science में full-size Faraday cage देखा था, और हमारी approach व structure उससे मिलते-जुलते थे, यह देखकर अच्छा लगा
इस case में certificate pinning भी काफी आसानी से handle हो सकती लगती है। बस proxy या VPN इस्तेमाल कर लें। फिर भी Faraday cage वाला हंगामा काफी cool है
शायद कहीं किसी VPS पर Tailscale इस्तेमाल करना भी ठीक रहता