the official MS docs say that the way you get into UEFI on this one-button device is that you turn it on using the power button, then when it boots, you turn it off again, then turn it on again
repeat until it goes into uefi

and when you're using the recovery tool, you have to stay in the room

cause it'll go to sleep if there aren't any people in the room, and that'll interrupt the download

Well we updated enough that it knows it's fucked
The first option it gives you is "buy a newer one"
The second option is "use the automatic update" which hasn't worked for three months

the manual update says you should get two 32gb flash drives.

the first drive will have the Microsoft Teams Rooms on Windows (an environment built on Windows 11 IoT) recovery ISO

and the other 32gb flash drive will contain a 3 kilobyte certificate file

I'm gonna stick the cert on a floppy disk and see if that works
I should have a USB paper tape reader. 3k isn't too long on tape
also if it turns out Microsoft has somehow broken USB floppy drive support on this 9k$ paperweight I'm going to drive up to redmond with a hammer and take apart their HQ brick by brick

okay I was wrong, it doesn't just need a 3kb certificate file, you have to use another app to build a DFI update image from that.

so it needs a 15kb file

The file is on a disk now
And I've got an iMac flavored floppy drive to read it with
And we're installed! Apparently the UEFI on this thing does indeed support USB floppies!
Dang it. The floppy was fine, but it's not happy with my 32gb usb drive
huh. I was looking at the UEFI settings and they put "occupancy sensor" under "Radio".
It's not a camera?
there's a recovery image from Microsoft I'm downloading through the Windows 11 Tool but it's downloading at like 0.1 millibytes per slow
tried again, and I think it finally stalled out at 20.39gb of 22.16gb
that was like two hours of downloading ;_;
and there's no resume

"If the device was unplugged or experienced an abrupt power outage or pulled power cord, wait at least 15 seconds before attempting to boot from USB."

what?

does the USB stack not come up in the first 15 seconds of power on?
AHHHHHHH IT STOPPED AT 21 OF 22GB
I finally got a version of the recovery disk downloaded, and it boots.
It tries to recover to a version of windows 10 that's not terribly useful, but I think now that I have a working recovery disk, I can munge that disk into a windows 11 recovery disk
hey microsoft you could have made this migration go a lot smoother if you'd just told your recovery-image-generating-tool how to make win11 disks
wait can I just lie to it that I have a Surface Hub 3 and it'll do that?
NOPE it tries to give me MTR
updating this thing is mainly a nightmare because the only updates I've managed to at all get working are the ones from the Surface IT Tool and it can't download most of the images because microsoft is storing the images on a server that someone reboots every 10 minutes or something
microsoft, you know that resuming HTTP downloads has been a solved problem since, uh, 1997?
It's a 22gb file and it can go as fast as half a gigabit/s but it keeps just hanging at like 14gb in. Your only option is to cancel and try again, which starts from byte 0
they mention this might be a problem in one of the many FAQs, and they recommend you fix it by getting better internet
I should MITM myself and see if I can figure out where it's downloading these files, and just curl it
I'd be tempted to launch my win95 VM ad use GetRight to download it, but I imagine it'd have some issues with TLS and certificates and such

oh right I need to install TCP/IP onto my windows 95 machine first

lemme find my win95 floppies

Nah, MS won't let you download the file over HTTP, and this version of GetRight from 1997 doesn't support HTTPS.

the curl download failed with a connection reset after 17 minutes and 20gb!

so I tell curl to resume it, and... the server starts over from the beginning.

MICROSOFT'S STUPID SERVER DOESN'T SUPPORT THE RANGE HEADER

IT'S 2026 BUY A REAL COMPUTER

anger canceled, I was just misreading curl. it did resume.

so again, why doesn't microsoft's official tool do this?

anyway I have the file now. There's a metadata JSON file that I don't have, but it looks very fakable. Then I can use the official recovery tool to build me a bootable USB drive, like it's supposed to be able to do
FUN FACT: the Surface IT Tool doesn't seem to validate any of the windows version info you give it in the JSON file!
yeah no it just failed verification. So I'm just going to try to download it, again, and again, and again, until I get lucky
it already hung

currently on attempt #8

#7 made it to 17gb (of 22gb)!

slightly tempted to automate it. watch the screen for the visible download amount, and if it hasn't changed in Xty seconds, hit cancel, restart.
cross your fingers, we're at 19gb and still climbing at 76 Mbps!
21gb!!!!
OH MY GOD ARE YOU SERIOUSLY DOING THIS, MICROSOFT

bad idea: I already MITM'd this once.

I download the file with curl and stick it on a local fast server. Then I set up mitmproxy to silently rewrite requests to their shitty server to my local one, which will be an actual server that works and doesn't randomly drop connections once out of EVERY FUCKING TIME

annoyingly I already deleted the file I downloaded earlier.

(I'm juggling laserdisc archival files right now, so my laptop has a VERY full hard drive, and I thought I was done with that file when it failed verification)

my first attempt and curling it stalled at 16mb.

not gigabytes, megabytes.

hey microsoft could I mail you some blank floppies and you just return 'em with the file on it? that might be easier at this point

my best guess for what is happening: I'm getting randomly loadbalanced onto a bunch of very overloaded servers.

I have downloaded the file and I'm now copying it onto my local server.

why didn't I just download it on my local server in the first place, so I wouldn't have to copy it across my house's network?

good question.

okay the files all moved locally so I can just make mitmproxy point it at the different URL. but I think I have been screaming at this problem enough for one day, so I'm going to stop for tonight.

the surface hub has not defeated me yet, I fight on

I lied. mitmproxy is now redirected to my local server, and Surface IT Tool is downloading from it.

annoyingly slowly, actually. Only 51Mbps? this is 22gb!

(it's probably because mitmproxy is handling all the bytes instead of letting nginx do it)

okay I have made a recovery disk by using the MITM download hack

how much do you want to bet this thing won't even boot?

it boots! it's now recovering

this may finally get us incrementally closer to a version of windows that actually works

It replaced the windows logo during boot with the teams logo
It just showed that it was logging into a user account named "Skype"
Yeah I can't get past the setup. It gives me two accounts, Skype and Administrator, and the latter is passworded, and the former doesn't work because I can't login to a Skype account
This machine is a fractal paperweight
There are two recovery images I have that work. One of them boots to an environment that can't use the store and can't run software until it gets to the store.
The other can't log in because Skype is gone
IT LIVES! AND WE HAVE UNKIOSKED WINDOWS 11 IoT!

@foone clearly you now have to reverse engineer the network communications it tries to have with skype and setup a Potemkin Skype Server on your network!

That sleep's not gonna come any time soon 😄

@foone You should try adding 0.0.0.0 config.edge.skype.com and 0.0.0.0 get.skype.com to your hosts file on the Skype image if you can get to it and maybe try to use an existing Skype account - MS never killed the servers properly as of a few months ago and I'm not entirely sure how they stand now but it's worth a shot.

@foone

Can you use one of the Windows boot/rescue tools to boot from external media and then reset the password on the admin account?

@foone cursed version of "there are two wolves inside you"
@foone ooh, an interesting NT image to look at
@foone Default password for the Administrator account should be "sfb" (short for Skype for Business) unless they've changed it.
@foone (The Skype account launches the Teams Room System on login, so you don't need to care about that one if you plan to reuse the system for something else)
@quad ooh, thanks!
@foone curious if it worked. i've touched multiple Skype/Teams room systems from HP/Lenovo/Crestron, but never a Surface Hub.

@foone

Hotdesk special? 3:O(>

@foone install unencrypted, boot linux, chntpw? unless i greatly understand the nature of this hardware
@wyatt at the moment, I can't boot anything on this system except the two recovery images: it refuses to boot anything else I've tried.
@foone Skype Room System (Specifically Skype for Business) was the original name before it became Teams Room System.

We had HP Slice meeting room units which were Skype Room Systems when we bought them, one day they just updated themselves and added Teams support. Which pretty much just meant the color changed from light blue to purple and I guess they connect to Teams now.

Some remnants remain, like the Windows account still being named "Skype" even if we purchased them after they started shipping as Teams Room Systems.
@foone can it run 9front
@foone Microsoft Teams CoPilot OS

@foone yeah, that's the weird-ass Teams Room shell that's strapped onto those Win11 Enterprise Surface Hub images

https://learn.microsoft.com/en-us/microsoftteams/rooms/console

OEM image creation for Teams Rooms - Microsoft Teams

This article describes how an OEM creates an image for a Teams Rooms device.

@foone

I saw this toot flow by in my feed and I've spent 10 minutes catching up on this ... sysiphian trail.

Have you considered the Teams Hub Surface is a legendary cursed item and it already has you enthralled? Would you like an intervention? Can we install linux on it?

@tezoatlipoca yes I have considered it's cursed: we've had this thing for 5 days and that idea has been brought up multiple times.

an intervention is not needed... and it refuses to boot anything except the recovery images, so I'm unable to install linux on it at this time.

@foone replace with miku ​:MikuFly:​
@foone *growls and hisses at computer* Evil incarnate
@foone I’m sorry, but your computer has turned. The only solution is to shoot it in the head before it infects anyone else
@foone i don't even know what the secure boot policy and cipolicy looks like on this thing, good luck
@Rairii the official policy is "fuck you"
@foone i'd probably be able to chain some stuff together and get stuff booting on that thing, the problem for me is actually getting one
@foone @Rairii isn't that true for basically everything nowadays?
@foone yeah mitmproxy is awesome but it definitely wasn't built with throughput in mind. I kinda wish there was a similar tool with more performance, even with less features. Maybe replacing Python with LuaJIT?
@foone I look forward to your success 🫡
@foone Want me to try downloading it so I can and host it somewhere... stable for you?
@foone THEY'RE ALL OVERLOADED BY YOU. IT'S ALL YOU
@foone maybe look for a bit-torrent of it?
@foone Can you please stop DDOSING MS infrastructure by downloading one file from them, I am trying to work here, thank you.
@foone my experience with mailing Microsoft anything is that it gets delivered, and then they claim they didn't get anything
@foone small indie company foone, you can’t expect this much from them

their installer tool also only works if you’re logged in as an admin user, not just escalated, fully logged in. this is very convenient