Microsoft Surface 2 Pro successful Beta 3 boot

So, I gave booting my old Surface 2 Pro another go. It had previously booted to a back screen and I thought that the keyboard was not working. However, today after re-reading some advice on the Boot options issues on UEFI - #15 by damoklas thread, I added an external keyboard when booting and pressed and held the space bar as the OS started to boot and managed to finally get in to the boot menu. To my surprise, the keyboard cover does seem to work! So after selecting “use fail safe graphics”, I booted to a desktop for the first time ever on this hardware.

20210304_172735

So - a lot of hardware works. The keyboard seems to work properly. The touch pad on the keyboard cover seems to work, though it is terrible even under Windows. And - this was a surprise, the Wacom touch screen driver more or less works. I can control the mouse pointer on screen with it. Using the pen, I can also move and control the mouse and the button on the pen acts as right click. The battery seems to be being detected (though it seems to see two batteries.) Pulse shows 4 processor cores. GL Teapot is running so fast I can’t tell you how many FPS, bit something like 800 - 900 FPS. Pulse shows medium activity when GL Teapot is running (all the cores are less than 50%).

What doesn’t work - no networking. The onboard WiFi is not detected and there is no onboard ethernet. I do have a couple of USB dongles, but the one I tried is not supported. The graphics is obviously in fallback/safe mode graphics and there seems to be no sound. The mini DVI doesn’t seem to mirror, nor does it do anything with a monitor plugged in.

If I can get networking running I would probably install Haiku over Windows because the Surface is way too underpowered to be useful under Windows 10 now. Haiku is flying off of the USB stick, not even installed on the actual internal storage.

I just set this stick to boot with failsafe graphics on on, so it boots every time.

Any pointers on compatible USB based WiFi or Ethernet adapters?

8 Likes

I have a Surface:

  1. Realtek sound chip - Check OSS driver install on USB (blacklist HDA beforehand)
  2. Wifi - there was a BSD driver…

Surface has the Intel HD video IGP chips… Surface 8 Pro has: Intel Xe / Intel Wi-Fi 6 AX201 USB 2.0 modiule w/ Fast Ethernet / Realtek HDA.

It looks like the graphics are probably Intel HD Graphics 4200 (I think my surface 2 is the first revision.)

For the WiFi, it looks like it might be this Bus 001 Device 007: ID 1286:2044 Marvell Semiconductor, Inc according to something I found on a Ubuntu thread … is there a driver for that?

Edit: This thread IntelR wifilink 5100 agn/Marvell Yukon 88e8040t Can't connect - #5 by Poetryfan mentions a “Yukon” driver, and I did see “Yukon” listed in the Devices app. Is that possibly something that might work?

Edit2: Is it maybe lacking the firmware? I don’t really know a lot about WiFi… it usually just works for me.

My build:

  • Intel HD Graphics 4000, PCI ID 8086, 0166
  • Realtek audio/sound chip, PCI ID: 10EC,0280
  • Marvell AVASTAR350N Wireless NIC, PCI ID: 1286, 2044 (REV_3201, MI_02) - USB internal adapter

Marvell chips were used a lot several years ago for Wifi/ethernet. Check with core devs on latest wifi framework status as I think there was a recent issue…

Have you tried the nightly builds? AFAIK a lot of progress was made on the Intel iGPU drivers.

Also, if it uses the same WiFi adapter as the Surface Pro 3, it is not supported on FreeBSD. In fact, FreeBSD seems to have pretty poor support for anything 802.11ac and newer. Since Haiku derives its wifi drivers from them, it might take a while.

The hardware is quite different. The digitizer is by WACOM and the WiFi is only N, and the implication I have seen is that it is connected internally via USB. So that might be part of the issue.

Oh, I see. You might try to see if its detected by lsusb, and if it is, then you’ll have to wait until USB Wifi networking is supported on Haiku. I think I’ve read that wired ethernet might work, so you may have a possible workaround.

Okay - the graphics chipset is later in the Surface 2, I don’t know about the Audio, but the WiFi is the same VID/PID, so possibly the same hardware. Did you say you had it working? I don’t really mind about sound and video, but no networking seriously cripples the usability.

The SD card reader works so I have installed Haiku to the SD card in that slot. I guess I will still need to boot via the USB for now… but progress.

I find the Surface series hardware to be quite nice (especially the screens) and I think work in Haiku to improve support on them would be nice. I’ll have to try the Surface Pro 3 I have with a recent Haiku revision given this thread.

Also there are plenty of them in the various versions on eBay at decent prices. Even though it is pretty old the Surface Pro 3 I have still runs pretty well, even with Windows 10. Laptop hardware really hasn’t improved all that much in the last ten years anyhow.

1 Like

You’ll need to port the driver from Linux to Haiku native or BSD-compat (I’d though this was done years ago). I have an old driver and firmware. Put on the USB stick and fire away from there.

So - I have tries the latest nightly build and the graphics driver sort of works. It works on the initial boot, but the screen is weird - it looks like it has a small 1024x768 square, to the left and a weird mirror to the right and corrupt graphics from the boot below. But the UI works in the small area, and switching to the native res on the panel fixes it so that it is full screen and not corrupted.

Using listusb, I see the internal WiFi, an external WiFi I found to try and a USB ethernet adapter I also had lying around in the list, but none seems to have been activated or configured. Any advice what to try next?

20210305_004725

1 Like

We (still) don’t support USB WiFi adapters unfortunately.

I have an old branch where I started work on that, and I have one such device sitting on my desk with the intention of working on that “soon.” Once a first cut of Xlibe is released, I may get around to it.

8 Likes

Since this day, with nightly https://git.haiku-os.org/haiku/tag/?h=hrev55771, my microsoft surface 3 now boots rock-solid and superfast from a very slow old 1Gb 50cent usb stick, with external hub, external keyboard and external USB wired ethernet.

All work, and I can also boot with just the stick.

Before, boot with more than only the stick was impossible (due to the xhci timing problem just solved with https://git.haiku-os.org/haiku/tag/?h=hrev55769), and with just the stick I had about a 50% chance of succesfull boot.

The error always was: no boot volume found: which makes sense, as the stick/boot runs through xhci from that point on.

This surface works still with framebuffer (in native 1920x1280 mode), the intel_extreme driver does not support it yet. Wifi does not work, audio I did not look at yet. Oh and internal storage is not yet seen by haiku at all, so it remains USB boot only for now.
Internal keyboard and mousepad are working OK.

Updates:

  • No soundcard detected and touchscreen does not work. Looking at devices I see a lot of I2C devices, so I am guessing one of them might be the touchscreen controller?
  • I can boot without magnetic keyboard and click it on: it’s mousepad and keyboard kick in nicely (tested repeatedly). If the magnetic keyboard is not connected the touchscreen also does not work.
7 Likes

Compatible wired USB ethernet adapter:
Dlock USB 3.0 10/100/1000 (name exported:usb_ecm, windows device manager: VID=0BDA, PID=8153)

connected via:
DLock USB 3.0 External Hub, 4 ports (3 top, 1 side, windows device manager: VID=2109, PID=2813)

Both are reasonable lowcost devices I purchased for the surface in some random online shop.

4 Likes

If you were to look at it, I have 2 different devices (as listed above) and I think the surface would be fairly nicely supported with WiFI. I would certainly like to alpha/beta test. I have a USB serial cross over cable at work also so I might be able to get you info even if the OS fails to boot.

I found my other USB Ethernet, which is a cheap Chinese fake Apple compatible ASIX USB2 knock off, and it seems to work!

image

It lists as VID/PID 05ac/1402. So it seems to be a solution in the short term. I think I will hold off installing to the internal storage but get a better sized partition on a memory stick. This is all cool as up till now I could only get 32bit to work on my old MSI Wind u100.

@waddlesplash I am still desperate for WiFi so just let me know when you get to it and we can work through getting a driver for either the Marvell or Ralink I have access to. Whatever makes most sense.

4 Likes

curiosity :slight_smile:
what resolution do you accept?
what model of surface 2 do you use?
does the battery management work for you?

Okay - the model is the Surface 2 Pro with the older config (Core i5 4200U @ 2.5 GHz), 4GiB RAM, 128GiB internal storage (Haiku can see it, I haven’t touched it through the OS yet as I am booting from USB.)

The screen seems to only really work at the native panel resolution (I think it is 1920x1080). It does work at lower resolutions, but the screen is not stretched, so only the lower res part of the screen is usable, and there is a large border around of either repeated UI (like a mirror) or just junk.

The power management regarding battery status more or less works. It thinks the battery is in slot 1, not 0 - but it shows a percentage, it goes down through use and it will show it is charging in the UI. I haven’t tested sleep or anything like that.

The brightness control seems to work in the Screen prefs.

Edit: I left it sitting there whilst I was eating dinner and the screen seems to have turned off. While I was gone it charged from 34% to 72%.

1 Like

Dear @memsom,

The wifi also not worked for me, but I followed user guide of Haiku site ($$) :

https://www.haiku-os.org/docs/userguide/en/workshop-wlan.html

(thanks to @extrowerk )

You do not need Broadcom firmware opener tool, so it should work for you as well.
For getting zipfile I suggest to use windows batch on Windows that provided there, as that downloaded the firmware of Marvel chip’s firmware as it was only in the zipfile.
However when I extracted under /boot on Haiku the zip file created the all necessary temp dirs for the firmware install script of Haiku, I just copied the Broadcom firmware I downloaded separately and the driver were installed.

You can ignore the Haiku script messages about trying to download firmwares
as they are already present - at least it worked in case Broadcom firmware.

($$) This should be all to do in such cases install and booting new OS,
but I understand we are accomodated sometimes during years of installing
to just click Next - Next - Next stuff, so easy to forget how the manual is so helpful in these days.

Have a success - good luck !

For me the wifi connection was useless as always dropped when I wanted to use it.
I hope it will be a more reliable in a later nightly image or R1B4 …

His hw is probably too new, the firmwares you mentioned are for pretty old wifi cards. The best bet for him to actually replace the card if it is possible.