Crossbox 2

Hi,
I followed the instructions here

https://docs.elementscompiler.com/Tools/CrossBox/CrossBox2/ConnectingFromFire/

and when I hit validate I get platform (null)

Its meant to be a raspberry pi running raspbian.

ssh is running and I can connect from the mac commandline, also gdb is installed because I can run that from the pi command line .

Im just using a username password for ssh

What should I do next ?

Cheers,
John

Im not sure if its related to the (null) but If I hit register I see this in console

CoreFoundation 0x00007fff2d3c3797 __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff66256a9e objc_exception_throw + 48
2 CoreFoundation 0x00007fff2d3c35f5 +[NSException raise:format:] + 181
3 Fire 0x000000010b2e690e -[__RemObjects_Elements_RTL_XmlElement SetAttribute:::] + 1486
4 Fire 0x000000010afe1c0d -[__RemObjects_Elements_CrossBox_CrossBoxConfig AddCrossBox2Server:] + 1357
5 Fire 0x000000010afd8e9e +[__RemObjects_Elements_CrossBox_CrossBox2Server RegisterNewCrossBox2Server:] + 174
6 Fire 0x000000010b5b98e3 -[RegisterCrossBox2ServerSheetController register:] + 2387
7 AppKit 0x00007fff2a7ecfc7 -[NSApplication(NSResponder) sendAction:to:from:] + 299
8 AppKit 0x00007fff2a7ece62 -[NSControl sendAction:to:] + 86
9 AppKit 0x00007fff2a7ecd94 __26-[NSCell _sendActionFrom:]_block_invoke + 136
10 AppKit 0x00007fff2a7ecc96 -[NSCell _sendActionFrom:] + 171
11 AppKit 0x00007fff2a7ecbdd -[NSButtonCell _sendActionFrom:] + 96
12 AppKit 0x00007fff2a7e8ebb NSControlTrackMouse + 1745
13 AppKit 0x00007fff2a7e87c2 -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 130
14 AppKit 0x00007fff2a7e8681 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 691
15 AppKit 0x00007fff2a7e79fd -[NSControl mouseDown:] + 748
16 AppKit 0x00007fff2a7e5e10 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4914
17 AppKit 0x00007fff2a750611 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 2612
18 AppKit 0x00007fff2a74f9b9 -[NSWindow(NSEventRouting) sendEvent:] + 349
19 AppKit 0x00007fff2a74dd44 -[NSApplication(NSEvent) sendEvent:] + 352
20 AppKit 0x00007fff2a59adaf -[NSApplication run] + 707
21 AppKit 0x00007fff2a56cb86 NSApplicationMain + 777
22 Fire 0x000000010ae740a7 +[Program Main::] + 343
23 libdyld.dylib 0x00007fff673f5cc9 start + 1
24 ??? 0x0000000000000002 0x0 + 2

Reproduced; this seems to be a regression from the speed fixes I made last week :(.

Though I don’t see why, from looking at the code; will need to investigate.

Got it, fixed; workaround, just register it, then manually set the right platform in CrossBoxServers.xml and restart Fire.

Did you mean hit the register button ? That doesnt seem to work, I pasted the stack trace from console above.

Ah missed/forgot that part. yes, thats very likely related, but not the same (my fix didn’t fix that, checking now).

Workaround 2: use ebuild to register the server: https://docs.elementscompiler.com/Tools/CrossBox/CrossBox2/ConnectingFromEBuild/.

I did this

`mono EBuild.exe --register-crossbox-server --host:192.168.0.18 --port:22 --name:Raspberry --user:yy --password:xxx --agent:true`

It says
Key file xxx does not exist

literally “xxx”? I assume you wanna log in with username/password and not a key?

I’ll have a check tomorrow to see if there’s a bad code path that checks for a default key file even if a password is provided :(.

Fixed; workaround; just pass “--keyfile:<any file that exists>”; it should be be ignored, beyond the check if it exists, if a password is provided.

Whatever I use as a password is returned in the error about the keyfile. I hadnt got as far as reading about the key so thats why I tried with a password first

Hm, damn, yeah. that part you cant work around, you need a new build :frowning:

I followed the instructions here

https://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md

And when I try and validate in Fire I get

connection failed: key ‘OPENSSH’ not supported.

I used ssh-keygen to create new keys, I didnt use a pass phase. I tested I can login using ssh

yeah, you cant use an OPENSSH key. you need a key that starts with “-----BEGIN RSA PRIVATE KEY-----”

I think I generated the key properly with

ssh-keygen -m PEM -t rsa

Could you add that to the documentation ?

Is a passphrase required ? I didnt add one but I get

Attempting connection to server pi@192.168.0.18:22

Private key is encrypted but passphrase is empty.

1 Like

I would, but I;,m not sure what exactly causes the key to be generated “wrong”. I had that happen myself once, m that hit had OPENSSH in it. but I forgot the details, or what u changed to fix it.

If your key has a password, you need to provide it, if not, you dont. Sounds like yours does have one?

Reading a thread on Stackoverflow that was how you get it to generate a key that doesnt contain OPENSSH.

Is it possible to have a new build of Fire with your current fixes ?

I’ll see what I can do, today.

the -t rsa?

No I think its the -m PEM. I have to retest it, because the contents of the key looked ok but I still cant connect.

1 Like

Updated the docs.

I was able to register a username password using ebuild. My raspberry listed but running/debugging is disabled.

Should that be possible ?