keepkey / keepkey-desktop

KeepKey Desktop Application
https://keepkey.com
GNU General Public License v3.0
6 stars 5 forks source link

Cannot use appimage to connect to device, continious "disconnect and reconnect" loop [On Linux OS] #631

Closed nuke-web3 closed 1 year ago

nuke-web3 commented 1 year ago

Device: a new KK reporting in FIRMWARE UPDATE MODE to be v1.0.3 App: v2.0.48

When USB is connected, the app reacts for a moment then "Please connect your KeepKey to continue. If your device is already connected, disconnect and reconnect to reset your device state." model is brought back up.

Not sure how to give more verbose logs while running, this is the normal stdout:

./KeepKey-Desktop-2.0.48.AppImage --verbose
20:24:17.077 › KKStateController constructor
20:24:17.115 › Tcp bridge started at http://localhost:1646
Loaded settings:  {
  shouldAutoLaunch: false,
  shouldAutoStartBridge: true,
  shouldMinimizeToTray: false,
  shouldAutoUpdate: false,
  bridgeApiPort: 1646,
  allowPreRelease: false,
  allowBetaFirmware: false,
  autoScanQr: false
}
20:24:18.143 › KKStateController syncState
latestFirmware {
  firmware: {
    version: 'v7.8.0',
    url: 'v7.8.0/firmware.keepkey.bin',
    hash: '31c1cdd945a7331e01b3cced866cb28add5b49eef87c2bbc08370e5aa7daf9bf'
  },
  bootloader: {
    version: 'v2.1.4',
    url: 'bl_v2.1.4/blupdater.bin',
    hash: '6bb7cfd28262fcd61c450fdc3f6932650bdf16a134ab6c1bc6f90b0d1578e620'
  },
  updater: { version: 'v2.1.4' }
}
bootloaderHashes {
  '6397c446f6b9002a8b150bf4b9b4e0bb66800ed099b881ca49700139b0559f10': 'v1.0.0',
  f13ce228c0bb2bdbc56bdcb5f4569367f8e3011074ccc63331348deb498f2d8f: 'v1.0.0',
  d544b5e06b0c355d68b868ac7580e9bab2d224a1e2440881cc1bca2b816752d5: 'v1.0.1',
  ec618836f86423dbd3114c37d6e3e4ffdfb87d9e4c6199cf3e163a67b27498a2: 'v1.0.1',
  cd702b91028a2cfa55af43d3407ba0f6f752a4a2be0583a172983b303ab1032e: 'v1.0.2',
  bcafb38cd0fbd6e2bdbea89fb90235559fdda360765b74e4a8758b4eff2d4921: 'v1.0.2',
  cb222548a39ff6cbe2ae2f02c8d431c9ae0df850f814444911f521b95ab02f4c: 'v1.0.3',
  '917d1952260c9b89f3a96bea07eea4074afdcc0e8cdd5d064e36868bdd68ba7d': 'v1.0.3',
  '6465bc505586700a8111c4bf7db6f40af73e720f9e488d20db56135e5a690c4f': 'v1.0.3',
  db4bc389335e876e942ae3b12558cecd202b745903e79b34dd2c32532708860e: 'v1.0.3',
  '2e38950143cf350345a6ddada4c0c4f21eb2ed337309f39c5dbc70b6c091ae00': 'v1.0.3',
  '83d14cb6c7c48af2a83bc326353ee6b9abdd74cfe47ba567de1cb564da65e8e9': 'v1.0.3',
  '770b30aaa0be884ee8621859f5d055437f894a5c9c7ca22635e7024e059857b7': 'v1.0.4',
  fc4e5c4dc2e5127b6814a3f69424c936f1dc241d1daf2c5a2d8f0728eb69d20d: 'v1.0.4',
  e45f587fb07533d832548402d0e71d8e8234881da54d86c4b699c28a6482b0ee: 'v1.1.0',
  '9bf1580d1b21250f922b68794cdadd6c8e166ae5b15ce160a42f8c44a2f05936': 'v2.0.0',
  e1ad2667d1924e4ddbeb623bd6939e94114d8471b84f8fb056e0c9abf0c4e4f4: 'v2.1.0',
  a3f8c745ff33cd92a7e95d37c76c65523d258a70352ea44a232038ec4ec38dea: 'v2.1.1',
  '3b97596ed612aa29a74a7f51f33ea85fd6e0cfe7340dfbb96f0c17077b363498': 'v2.1.2',
  e6685ab14844d0a381d658d77e13d6145fe7ae80469e5a5360210ae9c3447a77: 'v2.1.3',
  fe98454e7ebd4aef4a6db5bd4c60f52cf3f58b974283a7c1e1fcc5fea02cf3eb: 'v2.1.4'
}
20:24:18.340 › KKStateController resultInit:  {}
20:24:18.340 › KKStateController resultInit.unplugged
KK STATE { state: 'disconnected' }
20:25:15.169 › KKStateController detach

# Waiting state...
# Unplug device... 

KK STATE { state: 'disconnected' }
20:25:20.036 › KKStateController attach
KK STATE { state: 'plugin' }
20:25:20.039 › KKStateController syncState
latestFirmware {
  firmware: {
    version: 'v7.8.0',
    url: 'v7.8.0/firmware.keepkey.bin',
    hash: '31c1cdd945a7331e01b3cced866cb28add5b49eef87c2bbc08370e5aa7daf9bf'
  },
  bootloader: {
    version: 'v2.1.4',
    url: 'bl_v2.1.4/blupdater.bin',
    hash: '6bb7cfd28262fcd61c450fdc3f6932650bdf16a134ab6c1bc6f90b0d1578e620'
  },
  updater: { version: 'v2.1.4' }
}
bootloaderHashes {
  '6397c446f6b9002a8b150bf4b9b4e0bb66800ed099b881ca49700139b0559f10': 'v1.0.0',
  f13ce228c0bb2bdbc56bdcb5f4569367f8e3011074ccc63331348deb498f2d8f: 'v1.0.0',
  d544b5e06b0c355d68b868ac7580e9bab2d224a1e2440881cc1bca2b816752d5: 'v1.0.1',
  ec618836f86423dbd3114c37d6e3e4ffdfb87d9e4c6199cf3e163a67b27498a2: 'v1.0.1',
  cd702b91028a2cfa55af43d3407ba0f6f752a4a2be0583a172983b303ab1032e: 'v1.0.2',
  bcafb38cd0fbd6e2bdbea89fb90235559fdda360765b74e4a8758b4eff2d4921: 'v1.0.2',
  cb222548a39ff6cbe2ae2f02c8d431c9ae0df850f814444911f521b95ab02f4c: 'v1.0.3',
  '917d1952260c9b89f3a96bea07eea4074afdcc0e8cdd5d064e36868bdd68ba7d': 'v1.0.3',
  '6465bc505586700a8111c4bf7db6f40af73e720f9e488d20db56135e5a690c4f': 'v1.0.3',
  db4bc389335e876e942ae3b12558cecd202b745903e79b34dd2c32532708860e: 'v1.0.3',
  '2e38950143cf350345a6ddada4c0c4f21eb2ed337309f39c5dbc70b6c091ae00': 'v1.0.3',
  '83d14cb6c7c48af2a83bc326353ee6b9abdd74cfe47ba567de1cb564da65e8e9': 'v1.0.3',
  '770b30aaa0be884ee8621859f5d055437f894a5c9c7ca22635e7024e059857b7': 'v1.0.4',
  fc4e5c4dc2e5127b6814a3f69424c936f1dc241d1daf2c5a2d8f0728eb69d20d: 'v1.0.4',
  e45f587fb07533d832548402d0e71d8e8234881da54d86c4b699c28a6482b0ee: 'v1.1.0',
  '9bf1580d1b21250f922b68794cdadd6c8e166ae5b15ce160a42f8c44a2f05936': 'v2.0.0',
  e1ad2667d1924e4ddbeb623bd6939e94114d8471b84f8fb056e0c9abf0c4e4f4: 'v2.1.0',
  a3f8c745ff33cd92a7e95d37c76c65523d258a70352ea44a232038ec4ec38dea: 'v2.1.1',
  '3b97596ed612aa29a74a7f51f33ea85fd6e0cfe7340dfbb96f0c17077b363498': 'v2.1.2',
  e6685ab14844d0a381d658d77e13d6145fe7ae80469e5a5360210ae9c3447a77: 'v2.1.3',
  fe98454e7ebd4aef4a6db5bd4c60f52cf3f58b974283a7c1e1fcc5fea02cf3eb: 'v2.1.4'
}
20:25:20.144 › KKStateController resultInit:  {}
20:25:20.144 › KKStateController resultInit.unplugged
KK STATE { state: 'disconnected' }

# No action, the KK is still plugged in...
nuke-web3 commented 1 year ago

Also these buttons crash the app with no errors produced: image

The others do open a webpage appropriately.

nuke-web3 commented 1 year ago

I did find in the tray icon the bridge is not connected and devtools does report a bit more: image

TQDQISLK.chunk.js:840  🦊 ShapeShift DAO
TQDQISLK.chunk.js:840  💬 Join our Discord https://discord.gg/WwYsQkt3
TQDQISLK.chunk.js:840  📝 See the DAO overview https://app.boardroom.info/shapeshift/overview
TQDQISLK.chunk.js:840  🧑‍💻 Contribute on GitHub https://github.com/shapeshift
TQDQISLK.chunk.js:840     lcdOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKOdcd    :  .';lx0NWMMMMMMMMMMMMMMMMMMNKOdc,'.  l    o..dxl;'.':oxOOOOOOOOOOOOOkdc,..,:oko..k    O..xWMWXOo. ..''''''''''''. .ckKNWMNo.,K    X: cNMMMKl..o0XXXXXXXXXXXKx,.;kNMMMX; lN    Wo ,KMNk,.:0WMMMMMMMMMMMMMMXd..c0WMO..kM    MO..xKc..dNMMMMMMMMMMMMMMMMMW0c..dKo ,KM    MX; .'.:0WMMMMMMMMMMMMMMMMMMMMNk,... lNM    MWo   .:llllllllllllllllllllllll:.  .xWM    MNl    .;::::::::::::::::::::::,.   .xWM    MO..::..cONMMMMMMMMMMMMMMMMMWXx;.'l; ;KM    X: :XW0l'.;kNMMMMMMMMMMMMMWKd'.,dXWO'.dW    x..kWMMWKd,.,dKWMMMMMMMMW0l..:kNMMMNl ,K    : .;ldk0XNXk;..l0WMMMMNk:..cONNK0xoc' .x    Kd:.   ..,:ll:. .:k00x,..,coc;'.    'ckX    MMWKxc.   .,,'..   ..   ..',,.  .'lkXWMM    MMMMMWXkl'.'lkOko'    ;dOOxc'.,oONMMMMMM    MMMMMMMMMXk:..cdc.    .ld:..cONMMMMMMMMM    MMMMMMMMMMMW0l.          'oKWMMMMMMMMMMM    MMMMMMMMMMMMMWKl.      .oXMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMW0c.  .lKWMMMMMMMMMMMMMMM    MMMMMMMMMMMMMMMMMNo,;dNMMMMMMMMMMMMMMMMM    
VM5:18 preload: forwarding @app/get-ipc-listeners Object
TQDQISLK.chunk.js:840 undefined
DVEWZJVD.chunk.js:7 💭 info: [App:AppContext]Wallet disconnected Object
DVEWZJVD.chunk.js:7 💭 info: [App:accountSpecifiersSlice]clearing account specifiers Object
DVEWZJVD.chunk.js:7 💭 info: [App:portfolioSlice]clearing portfolio Object
DVEWZJVD.chunk.js:7 💭 info: [App:txHistorySlice]clearing tx history Object
TQDQISLK.chunk.js:840 undefined
VM5:24 preload: forwarding @app/register-render-listeners Object
TQDQISLK.chunk.js:800 updateState Object
TQDQISLK.chunk.js:840 undefined
TQDQISLK.chunk.js:840 undefined
localhost:1646/auth/pair:1          Failed to load resource: the server responded with a status of 500 (Internal Server Error)
TQDQISLK.chunk.js:399 verify failed Object
(anonymous) @ TQDQISLK.chunk.js:399
TQDQISLK.chunk.js:823 GET KEEPKEYSDK ERROR Error: bad API key, and no pairingInfo provided
    at Function.create (TQDQISLK.chunk.js:399:204394)
    at p (TQDQISLK.chunk.js:823:16231)
p @ TQDQISLK.chunk.js:823
TQDQISLK.chunk.js:400 Object 'Core Initilization Success'
TQDQISLK.chunk.js:400 Object 'SignClient Initilization Success'
pro-api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=1&sparkline=false&x_cg_pro_api_key=CG-we5Z4KbdYMCgMUVAqDjQMWfc:1          Failed to load resource: the server responded with a status of 401 ()
pro-api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=3&sparkline=false&x_cg_pro_api_key=CG-we5Z4KbdYMCgMUVAqDjQMWfc:1          Failed to load resource: the server responded with a status of 401 ()
pro-api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=2&sparkline=false&x_cg_pro_api_key=CG-we5Z4KbdYMCgMUVAqDjQMWfc:1          Failed to load resource: the server responded with a status of 401 ()
pro-api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=4&sparkline=false&x_cg_pro_api_key=CG-we5Z4KbdYMCgMUVAqDjQMWfc:1          Failed to load resource: the server responded with a status of 401 ()
TQDQISLK.chunk.js:800 globals:  Object
TQDQISLK.chunk.js:800 input.data:  undefined
TQDQISLK.chunk.js:800 input.data:  undefined
TQDQISLK.chunk.js:800 evpData:  Object
TQDQISLK.chunk.js:800 updateState {state: 'plugin'}state: "plugin"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
TQDQISLK.chunk.js:840 undefined
TQDQISLK.chunk.js:800 updateState {state: 'disconnected'}state: "disconnected"[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()
TQDQISLK.chunk.js:840 undefined
TQDQISLK.chunk.js:840 undefined
nuke-web3 commented 1 year ago

https://github.com/keepkey/udev-rules was needed and I only knew this might be the issue as I have used these devices a long time ago where that was mentioned. IMHO you really need this to be mentioned if the app detects linux as the OS!

I ended up updating udev then opting to update with https://github.com/keepkey/keepkey-updater before trying this app again.