VulpesOS/tundra/devices/beatles/device.json
2026-10-22 20:42:26 +02:00

200 lines
7.7 KiB
JSON

{
"schema": 1,
"device": "beatles",
"name": "Nokia 2720 Flip",
"architecture": "armv7",
"abi": "armeabi-v7a",
"soc": "MSM8905",
"board": "msm8909",
"taVariant": null,
"observedFirmware": {
"kaios": "2.5.2.2",
"gecko": "48.0a2",
"build": "40.00.17.01",
"androidHardwareBase": "6.0.1",
"androidApi": 23,
"kernel": "3.10.49-g8801858442f"
},
"display": {
"internal": {
"width": 240,
"height": 320
},
"external": {
"width": 240,
"height": 240
},
"touchscreen": false,
"clamshell": {
"sysfs": "/sys/devices/soc.0/hall_sensor1.73/hall_status",
"rawOpen": 0,
"rawClosed": 1,
"evidence": "Physical inversion reported by owner on 2026-10-18; software polarity corrected"
}
},
"memory": {
"kernelVisibleKiB": 409248,
"zramSwapKiB": 262140
},
"access": {
"adb": true,
"adbUid": 2000,
"debuggerChromeProcessUid": 0,
"bootloaderUnlocked": null
},
"validation": {
"nativeArmv7UserspaceProbe": true,
"diagnosticAppOnExistingKaiOS": true,
"newGeckoRuntime": true,
"gaiaBoot": true,
"physicalKeys": true,
"customBootImage": true,
"bootPartitionBackupsVerified": true,
"restorationTested": false,
"physicalKeysEvidence": "Owner reports diagnostic works well, 2026-10-17; no exhaustive keypad matrix qualification.",
"predictiveT9DictionariesBuilt": true,
"predictiveT9DictionaryLanguages": 42,
"predictiveT9PhysicalQualification": false,
"newGeckoOffscreenHtmlCssJs": true,
"newGeckoInteractiveDisplay": true,
"nativeXorgFramebuffer": true,
"framebufferCaptureVerified": true,
"nativeKeypadEventQualification": true,
"nativeRilStatus": true,
"nativeBatteryStatus": true,
"gaiaSimAndSignalStatus": true,
"nativeSms": true,
"nativeCalls": true,
"kernelEvdevKeypadQualification": true,
"nativePhoneBroker": true,
"nativeCallList": true,
"nativeAudioServiceAccess": true,
"nativeSmsCodecTests": true,
"externalDisplayRendered": true,
"physicalClamshellCycle": true,
"externalDisplayRefresh": true,
"nativeCallAudio": true,
"userQualification": "2026-10-18: owner confirms call audio in both directions and SMS; previous confirmation of clamshell/backlight operation. Not an exhaustive reliability test.",
"customBootImageBooted": false,
"persistentRuntime": true,
"persistentRuntimeSurvivedReboot": true,
"nativeVolumeControls": true,
"nativeBacklightControl": true,
"boundedVibration": true,
"nativeRadioPower": true,
"gaiaAirplaneMode": true,
"airplaneModeQualification": "tickets/evidence-2026-10-20/nokia-airplane.json"
},
"flashReady": false,
"evidence": [
"logs/nokia2720-inventory-20261017/inventory.json",
"tundra/out/beatles/armv7-smoke/device-test.json",
"tundra/out/beatles/display-diagnostic/install-report.json",
"tundra/out/beatles/backups/20261017/verification.json",
"tundra/out/beatles/gecko-armhf/version-result.json",
"tundra/out/beatles/gecko-armhf/render-result.json",
"tundra/out/beatles/gecko-armhf/gecko.png",
"tundra/out/beatles/gecko-156.0.1/engine-staging.json",
"tundra/out/beatles/gecko-156.0.1/version-result.json",
"tundra/out/beatles/gecko-156.0.1/render-result.json",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261017-205052/gaia-audit.json",
"tundra/out/beatles/gecko-156.0.1/framebuffer-home-156.png",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261017-205433/gaia-audit.json",
"tundra/out/beatles/gecko-156.0.1/qualification.json",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261017-230112/gaia-audit.json",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261017-233954/gaia-audit.json",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261021-105254/camera-frame.png",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261021-105554/camera-photo.jpg",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261021-105554/camera-frame-encoded.jpg",
"tundra/out/beatles/gecko-156.0.1/gaia-trial-20261021-110735/display-session.log"
],
"experimentalEngine": {
"version": "156.0.1",
"architecture": "armv7 / hard-float",
"source": "Mozilla release sources, locally cross-compiled",
"sourceRevision": "6f2c158dfc7e9693f880fad2510ceb51a158c069",
"sourcePatches": [],
"mode": "shared Gaia, Xorg/fbdev software display, bounded private session with Nokia radio and Wi-Fi adapters"
},
"limitations": [
"KaiOS kernel and existing firmware; no standalone boot image",
"KaiOS stock Camera is confirmed working by the user; Vulpes Gecko 156 still has no beatles camera adapter. The standalone QCamera diagnostic returned empty frames, so its output is not evidence of a sensor or kernel fault",
"Software framebuffer around 11 submissions/second; no GPU acceleration",
"Multi-tap input qualified; offline predictive T9 is implemented for 42 Gaia keyboard locales, pending physical qualification",
"Gecko runs as uid 2000; root watchdog and Xorg restore KaiOS after each trial",
"First SIM only; no data bearer, MMS or camera adapter; sustained radio reliability and incoming call lifecycle still need qualification",
"External display refresh retries driver refusals during panel transitions",
"Bluetooth firmware backend exists, but Vulpes has no Nokia adapter; pairing and profiles are not available",
"Predictive T9 lexicons are generated from Gaia keyboard wordlists; 12,000 frequent words per locale, loaded on demand. User-dictionary learning is not implemented"
],
"privateBootBuild": {
"path": "tundra/out/beatles/boot-trial-20261018-r5",
"signed": false,
"bootTested": false,
"standalone": false,
"fastbootDetected": false,
"bootloaderLockState": null
},
"hardwareInventory": {
"camera": {
"count": 1,
"facing": "back",
"orientation": 270,
"moduleApi": "1.0",
"gaiaAdapter": false,
"maxPictureSize": [
1600,
1200
],
"focusModes": [
"fixed"
],
"maxDigitalZoom": 6.06,
"firmwareOpenReleaseVerified": true,
"advertisedFlashModes": [
"off",
"auto",
"on",
"torch"
],
"flashPhysicallyVerified": false,
"temporaryProbe": {
"date": "2026-10-21",
"backend": "mm-qcamera-app as Android camera uid 1006",
"previewUi": "QCamera preview starts; frames are not yet delivered to Gaia",
"snapshotYuv": "NV21 1280x960 captured and visually decoded",
"snapshotJpeg": "invalid for use; nearly uniform gray/black",
"gaiaAdapter": false,
"evidence": "tickets/2026-10-21.md",
"cameraDaemon": "qcamerasvr running; /system/bin/mm-qcamera-daemon (Android camera UID) keeps /dev/video0 busy after B2G stops",
"v4l2Direct": "unavailable; Qualcomm interface client required"
}
},
"volumeKeys": {
"up": "event3/115",
"down": "event2/114"
},
"sensors": {
"modulePresent": true,
"enumeratedAsShell": 0,
"enumeratedAsRoot": 0,
"automaticBrightnessAvailable": false,
"accelerometerAvailable": false
},
"wifi": {
"interface": "wlan0",
"controlSocket": "wpa_wlan0",
"gaiaAdapter": true,
"qualification": "tickets/evidence-2026-10-20/nokia-wifi.json"
},
"evidence": "tundra/out/beatles/hardware-inventory-20261018",
"qualification": "tundra/out/beatles/hardware-qualification-20261018/controls-final.json",
"bluetooth": {
"firmwareBackend": "bluetoothd",
"firmwareDaemonPresent": true,
"firmwareServiceRunning": false,
"vulpesAdapter": false,
"evidence": "tickets/evidence-2026-10-20/nokia-media-stack.txt"
}
}
}