<div dir="ltr">Hi Dirk,<div><br></div><div>Sorry for spamming, but I just noticed a "bug" after checking the libdivecomputer.log-file after the mail from Linus.</div><div><br></div><div>Check the log below - that was copied this morning by using the copy-button on the About-page in the app and the app copies both the Subsurface.log and the libdivecomputer.log.</div><div>But look at the version number of the app in the two logs:</div><div><br></div><div><span style="font-size:small">    ---------- subsurface.log ----------</span><br></div><div><span style="font-size:small">    Empty filename passed to function</span><br style="font-size:small"><span style="font-size:small">    "0.002: Successfully opened logfile /storage/emulated/0/</span><span style="font-size:small">subsurface.log at Thu Jun 21 06:18:14 2018"</span><br style="font-size:small"><span style="font-size:small">    "0.003: Starting Subsurface-mobile:<b><i>2.1.0(4.7.8.</i></b></span><b><i></i></b><span style="font-size:small"><b><i>389)</i></b>:Android Oreo (8.0):arm:en-US"</span><br style="font-size:small"></div><div><span style="font-size:small"><br></span></div><div><span style="font-size:small">    ---------- libdivecomputer.log ----------</span><br style="font-size:small"><span style="font-size:small">    Subsurface: <b><i>v4.7.8-287</i></b>-g76f61468e690, built with libdivecomputer v0.7.0-devel-Subsurface-NG (</span><span style="font-size:small">e97a47cca55973199715df0f818b49</span><span style="font-size:small">55e60d3a31)</span><br style="font-size:small"></div><div><br></div><div>Apparently the app just copy the log-file that is present in the root, and as in this case, the libdivecomputer.log is an old log!</div><div>The date of that log-file is from the 3/6, so almost two weeks old!</div><div>Why is the libdivecomputer.log not updated when I run the app? I searched the fs but this is the only file I found ... hmm ...</div><div><br></div><div>If I removed that file and try again, then there is no libdivecomputer.log anymore, neither in the fs nor in the copied log-data from the app ...<br></div><div><br></div><div>Sorry for introducing erroneous logs ... :(</div><div><br></div><div>Best regards,</div><div>Thomas</div><div><br></div><div><br></div><div><br></div><div><br></div><div><span style="font-size:small">---------- subsurface.log ----------</span><br style="font-size:small"><span style="font-size:small">Empty filename passed to function</span><br style="font-size:small"><span style="font-size:small">"0.002: Successfully opened logfile /storage/emulated/0/</span><span style="font-size:small">subsurface.log at Thu Jun 21 06:18:14 2018"</span><br style="font-size:small"><span style="font-size:small">"0.003: Starting Subsurface-mobile:2.1.0(4.7.8.</span><span style="font-size:small">389):Android Oreo (8.0):arm:en-US"</span><br style="font-size:small"><span style="font-size:small">"0.003: built with libdivecomputer v0.7.0-devel-Subsurface-NG (</span><span style="font-size:small">e97a47cca55973199715df0f818b49</span><span style="font-size:small">55e60d3a31)"</span><br style="font-size:small"><span style="font-size:small">"0.003: built with Qt Version 5.10.1, runtime from Qt Version 5.10.1"</span><br style="font-size:small"><span style="font-size:small">"0.003: built with libgit2 0.26.0"</span><br style="font-size:small"><span style="font-size:small">localBtDevice isn't valid or not connectable</span><br style="font-size:small"><span style="font-size:small">"Created position source android"</span><br style="font-size:small"><span style="font-size:small">"0.009: Created position source android"</span><br style="font-size:small"><span style="font-size:small">"Set GPS service update interval to 300 s"</span><br style="font-size:small"><span style="font-size:small">"0.009: Set GPS service update interval to 300 s"</span><br style="font-size:small"><span style="font-size:small">"0.009: location service is available"</span><br style="font-size:small"><span style="font-size:small">"0.332: Synchronising data file"</span><br style="font-size:small"><span style="font-size:small">"0.338: Load dives from local cache"</span><br style="font-size:small"><span style="font-size:small">"0.360: Successfully opened dive data"</span><br style="font-size:small"><span style="font-size:small">"0.362: 109 dives loaded from cache"</span><br style="font-size:small"><span style="font-size:small">"0.362: have cloud credentials, but user asked not to connect to network"</span><br style="font-size:small"><span style="font-size:small">"Set GPS service update interval to 300 s"</span><br style="font-size:small"><span style="font-size:small">"0.363: Set GPS service update interval to 300 s"</span><br style="font-size:small"><span style="font-size:small">Using the following font: Roboto</span><br style="font-size:small"><span style="font-size:small">qqwindow devicePixelRatio 3 3</span><br style="font-size:small"><span style="font-size:small">Supported dive computers:</span><br style="font-size:small"><span style="font-size:small">"Aeris: 500 AI (SERIAL), A300 (SERIAL), A300 AI (SERIAL), A300CS (SERIAL), Atmos 2 (SERIAL), Atmos AI (SERIAL), Atmos AI 2 (SERIAL), Compumask (SERIAL), Elite (SERIAL), Elite T3 (SERIAL), Epic (SERIAL), F10 (SERIAL), F11 (SERIAL), Manta (SERIAL), XR-1 NX (SERIAL), XR-2 (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Aqualung: i200 (SERIAL), i300 (SERIAL), i450T (SERIAL), i550 (SERIAL), i750TC (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Atomic Aquatics: Cobalt (USB), Cobalt 2 (USB)"</span><br style="font-size:small"><span style="font-size:small">"Beuchat: Mundial 2 (SERIAL), Mundial 3 (SERIAL), Voyager 2G (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Cochran: Commander I (SERIAL), Commander II (SERIAL), Commander TM (SERIAL), EMC-14 (SERIAL), EMC-16 (SERIAL), EMC-20H (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Genesis: React Pro (SERIAL), React Pro White (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Heinrichs Weikamp: Frog (SERIAL, BT), OSTC (SERIAL), OSTC 2 (SERIAL, BT, BLE), OSTC 2 TR (SERIAL, BT, BLE), OSTC 2C (SERIAL), OSTC 2N (SERIAL), OSTC 3 (SERIAL), OSTC 4 (SERIAL, BT, BLE), OSTC Mk2 (SERIAL), OSTC Plus (SERIAL, BT, BLE), OSTC Sport (SERIAL, BT, BLE), OSTC cR (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Hollis: DG02 (SERIAL), DG03 (SERIAL), TX1 (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Mares: Puck Pro (SERIAL), Quad (SERIAL), Smart (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Oceanic: Atom 1.0 (SERIAL), Atom 2.0 (SERIAL), Atom 3.0 (SERIAL), Atom 3.1 (SERIAL), Datamask (SERIAL), F10 (SERIAL), F11 (SERIAL), Geo (SERIAL), Geo 2.0 (SERIAL), OC1 (SERIAL), OCS (SERIAL), OCi (SERIAL), Pro Plus 2 (SERIAL), Pro Plus 2.1 (SERIAL), Pro Plus 3 (SERIAL), VT 4.1 (SERIAL), VT Pro (SERIAL), VT3 (SERIAL), VT4 (SERIAL), VTX (SERIAL), Veo 1.0 (SERIAL), Veo 180 (SERIAL), Veo 2.0 (SERIAL), Veo 200 (SERIAL), Veo 250 (SERIAL), Veo 3.0 (SERIAL), Versa Pro (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Scubapro: Aladin Sport Matrix (BLE), Aladin Square (USBHID), G2 (USBHID, BLE), G2 Console (USBHID, BLE)"</span><br style="font-size:small"><span style="font-size:small">"Seemann: XP5 (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Shearwater: Nerd (SERIAL, BT), Nerd 2 (BLE), Perdix (SERIAL, BT, BLE), Perdix AI (BLE), Petrel (SERIAL, BT), Petrel 2 (SERIAL, BT, BLE), Predator (SERIAL, BT)"</span><br style="font-size:small"><span style="font-size:small">"Sherwood: Amphos (SERIAL), Amphos Air (SERIAL), Insight (SERIAL), Insight 2 (SERIAL), Vision (SERIAL), Wisdom (SERIAL), Wisdom 2 (SERIAL), Wisdom 3 (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Subgear: XP-Air (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Suunto: Cobra (SERIAL), Cobra 2 (SERIAL), Cobra 3 (SERIAL), D3 (SERIAL), D4 (SERIAL), D4f (SERIAL), D4i (SERIAL), D6 (SERIAL), D6i (SERIAL), D9 (SERIAL), D9tx (SERIAL), DX (SERIAL), EON Core (USBHID, BLE), EON Steel (USBHID, BLE), Eon (SERIAL), Gekko (SERIAL), HelO2 (SERIAL), Mosquito (SERIAL), Solution (SERIAL), Solution Alpha (SERIAL), Solution Nitrox (SERIAL), Spyder (SERIAL), Stinger (SERIAL), Vyper (SERIAL), Vyper 2 (SERIAL), Vyper Air (SERIAL), Vyper Novo (SERIAL), Vytec (SERIAL), Zoop (SERIAL), Zoop Novo (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Tusa: Element II (IQ-750) (SERIAL), Zen (IQ-900) (SERIAL), Zen Air (IQ-950) (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">"Uwatec: Aladin Air Twin (SERIAL), Aladin Air Z (SERIAL), Aladin Air Z Nitrox (SERIAL), Aladin Air Z O2 (SERIAL), Aladin Pro (SERIAL), Aladin Pro Ultra (SERIAL), Aladin Sport Plus (SERIAL), Memomouse (SERIAL)"</span><br style="font-size:small"><span style="font-size:small">qqwindow screen has ldpi/pdpi 72 162.923</span><br style="font-size:small"><span style="font-size:small">"1.134: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"1.861: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"1.931: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"46.448: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"47.456: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"47.676: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"LocalDeviceBroadcastReceiver:</span><span style="font-size:small">:onReceive() - event: android.bluetooth.adapter.</span><span style="font-size:small">action.SCAN_MODE_CHANGED"</span><br style="font-size:small"><span style="font-size:small">btHostModeChange to QBluetoothLocalDevice::</span><span style="font-size:small">HostMode(HostConnectable)</span><br style="font-size:small"><span style="font-size:small">"localDevice Xperia XZ2 Compact is valid, starting discovery"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">Found new device: "SRS-XB31" "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "PaMu" "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "BSP10" "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "SBH24" "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "WH-1000XM2" "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "PaMu" "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Paired = "SRS-XB31" "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">Paired = "PaMu" "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">Paired = "BSP10" "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">Paired = "SBH24" "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">Paired = "WH-1000XM2" "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">Paired = "PaMu" "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">"2652.307: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"LocalDeviceBroadcastReceiver:</span><span style="font-size:small">:onReceive() - event: android.bluetooth.adapter.</span><span style="font-size:small">action.SCAN_MODE_CHANGED"</span><br style="font-size:small"><span style="font-size:small">btHostModeChange to QBluetoothLocalDevice::</span><span style="font-size:small">HostMode(HostPoweredOff)</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">"2718.041: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2718.179: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2725.767: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">"2755.938: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2756.024: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2757.943: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2788.113: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2788.166: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2795.412: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2825.652: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2825.730: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2833.502: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"LocalDeviceBroadcastReceiver:</span><span style="font-size:small">:onReceive() - event: android.bluetooth.adapter.</span><span style="font-size:small">action.SCAN_MODE_CHANGED"</span><br style="font-size:small"><span style="font-size:small">btHostModeChange to QBluetoothLocalDevice::</span><span style="font-size:small">HostMode(HostConnectable)</span><br style="font-size:small"><span style="font-size:small">"localDevice Xperia XZ2 Compact is valid, starting discovery"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">paired BT classic device type 1 with address "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">Found new device: "SRS-XB31" "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "PaMu" "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "BSP10" "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "SBH24" "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "WH-1000XM2" "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Found new device: "PaMu" "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">Not recognized as dive computer</span><br style="font-size:small"><span style="font-size:small">Paired = "SRS-XB31" "F8:DF:15:02:29:86"</span><br style="font-size:small"><span style="font-size:small">Paired = "PaMu" "20:18:1C:00:06:73"</span><br style="font-size:small"><span style="font-size:small">Paired = "BSP10" "44:D4:E0:90:15:7D"</span><br style="font-size:small"><span style="font-size:small">Paired = "SBH24" "84:C7:EA:FF:28:10"</span><br style="font-size:small"><span style="font-size:small">Paired = "WH-1000XM2" "04:5D:4B:83:18:F3"</span><br style="font-size:small"><span style="font-size:small">Paired = "PaMu" "20:18:0E:00:02:3D"</span><br style="font-size:small"><span style="font-size:small">"2852.760: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"2853.312: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"3032.536: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">"3051.225: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"3051.461: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"3056.542: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">QObject::startTimer: Timers cannot be started from another thread</span><br style="font-size:small"><span style="font-size:small">"3063.161: AppState changed to inactive with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"3063.393: AppState changed to suspended with no save ongoing and no unsaved changes"</span><br style="font-size:small"><span style="font-size:small">"3086.283: AppState changed to active with no save ongoing and no unsaved changes"</span><br style="font-size:small"><br style="font-size:small"><br style="font-size:small"><br style="font-size:small"><span style="font-size:small">---------- libdivecomputer.log ----------</span><br style="font-size:small"><span style="font-size:small">Subsurface: v4.7.8-287-g76f61468e690, built with libdivecomputer v0.7.0-devel-Subsurface-NG (</span><span style="font-size:small">e97a47cca55973199715df0f818b49</span><span style="font-size:small">55e60d3a31)</span><br style="font-size:small"><span style="font-size:small">INFO: Open: name=ftdi</span><br style="font-size:small"><span style="font-size:small">ERROR: No such file or directory (2) [in /data/android/subsurface/</span><span style="font-size:small">libdivecomputer/src/serial_</span><span style="font-size:small">posix.c:295 (dc_serial_open)]</span><br style="font-size:small"><span style="font-size:small">---------- finish ----------</span><br></div></div><br><div class="gmail_quote"><div dir="ltr">tors 21 juni 2018 kl 09:26 skrev Thomas Fänge <<a href="mailto:thomas.fange@gmail.com">thomas.fange@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Linus,<div><br></div><div>Yes, you are right, failure in dc_serial_open drops down to ftdi_open.</div></div><div dir="ltr"><div><br></div><div>>> But you cut out the rest of the output..<br></div><div><br></div></div><div dir="ltr"><div>No, that all there was in the libdivecomputer.log, after that error the log was empty (and proceeding this is only version information), so the INFO and ERROR line is the complete log.</div><div><br></div><div>    ---------- libdivecomputer.log ----------<br>    Subsurface: v4.7.8-287-g76f61468e690, built with libdivecomputer v0.7.0-devel-Subsurface-NG (e97a47cca55973199715df0f818b4955e60d3a31)</div></div><div dir="ltr"><div><br>    INFO: Open: name=ftdi<br>    ERROR: No such file or directory (2) [in /data/android/subsurface/libdivecomputer/src/serial_posix.c:295 (dc_serial_open)]<br></div></div><div dir="ltr"><div>    ---------- finish ----------<br></div><div><br></div><div>Somewhere along these lines, <span style="background-color:transparent;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:11.9px;color:rgb(36,41,46)">DC_STATUS_UNSUPPORTED </span>is returned which causes the output "Unsupported operation", don't know if this is pointing somewhere, or is just also expected information ... ;)</div><div><br></div><div>But, I guess Dirk is right, there is still some confusion about using OTG cable, Bluetooth Link, FTDI etc, so there are still some hurdles to pass ...</div><div><br></div><div>Best regards,</div><div>Thomas</div></div><div dir="ltr"><div><br></div><div><br><br><div class="gmail_quote"><div dir="ltr">tors 21 juni 2018 kl 08:53 skrev Linus Torvalds <<a href="mailto:torvalds@linux-foundation.org" target="_blank">torvalds@linux-foundation.org</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Jun 21, 2018 at 3:17 PM Thomas Fänge <<a href="mailto:thomas.fange@gmail.com" target="_blank">thomas.fange@gmail.com</a>> wrote:<br>
><br>
> Still the same error from libdivecomputer:<br>
><br>
>     INFO: Open: name=ftdi<br>
>     ERROR: No such file or directory (2) [in /data/android/subsurface/libdivecomputer/src/serial_posix.c:295 (dc_serial_open)]<br>
<br>
Note: this is "normal".<br>
<br>
The DC_TRANSPORT_SERIAL first just calls dc_serial_open(), and only if<br>
that fails will it then try to fall back on the "ftdi_open()" case.<br>
<br>
                rc = dc_serial_open(&data->iostream, context, data->devname);<br>
                if (rc == DC_STATUS_SUCCESS)<br>
                        return rc;<br>
<br>
  #ifdef SERIAL_FTDI<br>
                if (!strcmp(data->devname, "ftdi")) {<br>
                        rc = ftdi_open(&data->iostream, context);<br>
                        if (rc == DC_STATUS_SUCCESS)<br>
                                return rc;<br>
                }<br>
  #endif<br>
<br>
so an error from dc_serial_open() is actually expected.<br>
<br>
I guess we could move the ftdi check up.<br>
<br>
If the FTDI open fails, it should print an error message right *after*<br>
the one from dc_serial_open(). But you cut out the rest of the<br>
output..<br>
<br>
             Linus<br>
</blockquote></div></div></div></blockquote></div>