Page 2 of 16 FirstFirst 123412 ... LastLast
Results 11 to 20 of 160

Thread: Will Ubuntu work on the Surface Pro 2 like it did on the original?

  1. #11
    Join Date
    May 2008
    Beans
    16

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by PointSource View Post
    I still haven't figured out how to unbind and re-bind the device to the other driver yet.
    I second that. I just managed to unbind the driver from the device but am not able to rebind the device.
    Code:
    @ echo -n "0003:045E:07A7.xxxx" > /sys/bus/hid/drivers/hid-multitouch/unbind
    @ echo -n "0003:045E:07A7.xxxx" > /sys/bus/hid/drivers/hid-generic/bind
    bash: echo: write error: No such device
    Although the device is still listed in /sys/bus/hid/devices.

    Quote Originally Posted by PointSource View Post
    As for wifi, this kernel bug: Bug 64111 - mwifiex_usb USB8797 fails to start seems to indicate it might be a problem with the USB3 controller rather than the wireless card. I haven't tried the steps listed there yet, but I managed to get the device half-working with a firmware extracted from "C:\Windows\System32\drivers\mwlu97w8x64.sys" under Win8.1, but didn't keep it because I was worried messing around with the firmware would do permanent damage to the wireless chip.
    During the udev adventure I saw a device (it seems like the usb3 pci bridge) listed to be operated by the xhci_hcd driver which seems to be the usb3 driver with causes our wifi issues.
    Code:
    @ ls /sys/bus/pci/drivers/xhci_hcd/
    0000:00:14:0  bind  module  new_id   remove_id   uevent   unbind
    So I tried unregistering the device from the driver and registering the device to the uhci_hcd driver. But again:
    Code:
    @ echo -n "0000:00:14:0" > /sys/bus/pci/drivers/xhci_hcd/unbind; echo -n "0000:00:14:0" > /sys/bus/pci/drivers/uhci_hcd/bind;
    bash: echo: write error: No such device
    Unfortunately, No such device. Any usb-device stopped working so the device and the driver are indeed the pci/usb bridge. Cold restart.

    Anyhow, if I can get the rebind to work I may be able to solve both problems, wifi and keyboard, for the session. If they are solvable for the session, one might take a look at udev rules to maybe persist the changes.

    Any ideas regarding driver rebind? Or can we intercept the initial driver selection directly via udev rules?

    ubootfanat

  2. #12
    Join Date
    Jan 2007
    Beans
    96
    Distro
    Ubuntu

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    I've compiled a custom kernel from Saucy's linux-source-3.11, with:
    • a disabled CONFIG_USB_XHCI_HCD so that wifi works. No USB 3.0 for you.
    • and these patches to the HID drivers to make the type cover operational:

    Code:
    diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
    index e80da62..54f1cdb 100644
    --- a/drivers/hid/hid-core.c
    +++ b/drivers/hid/hid-core.c
    @@ -1869,6 +1869,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
     	{ HID_USB_DEVICE(USB_VENDOR_ID_ZEROPLUS, 0x0030) },
     	{ HID_USB_DEVICE(USB_VENDOR_ID_ZYDACRON, USB_DEVICE_ID_ZYDACRON_REMOTE_CONTROL) },
     
    +/*TYPE COVER 2 INSERTION*/
    +	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2) },
    +
     	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT) },
     	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_WIIMOTE) },
     	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO2, USB_DEVICE_ID_NINTENDO_WIIMOTE) },
    diff --git a/drivers/hid/hid-generic.c b/drivers/hid/hid-generic.c
    index e288a4a..fd59518 100644
    --- a/drivers/hid/hid-generic.c
    +++ b/drivers/hid/hid-generic.c
    @@ -24,8 +24,11 @@
     
     #include <linux/hid.h>
     
    +#include "hid-ids.h"
    +
     static const struct hid_device_id hid_table[] = {
     	{ HID_DEVICE(HID_BUS_ANY, HID_GROUP_GENERIC, HID_ANY_ID, HID_ANY_ID) },
    +	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2), .driver_data = 0 },
     	{ }
     };
     MODULE_DEVICE_TABLE(hid, hid_table);
    diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
    index f0296a5..34b45a5 100644
    --- a/drivers/hid/hid-ids.h
    +++ b/drivers/hid/hid-ids.h
    @@ -603,6 +603,7 @@
     #define USB_DEVICE_ID_MS_PRESENTER_8K_USB	0x0713
     #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K	0x0730
     #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500	0x076c
    +#define USB_DEVICE_ID_MS_TYPE_COVER_2	0x07a9
     
     #define USB_VENDOR_ID_MOJO		0x8282
     #define USB_DEVICE_ID_RETRO_ADAPTER	0x3201
    You can download the compiled image here: https://owncloud.staers.homelinux.ne...fe27b56116becf
    But this is my home server, bandwidth speed and capacity is limited, so if someone would be kind enough to re-upload it to a file-sharing site or something, I'd appreciate it.

    The HID fix is a hack. Yes, it works (mostly), but I'll file a bug with the kernel developers and see if they can do a better job of it.

    Also, these issues still exist:
    ...the wifi works fine until you change the power mode/use the surface without power.
    I'm getting a kernel bug at that point which disables the wifi. plugging the power back i does notsolve the issue.
    Also the system hangs on the login screen after booting on battery power.

  3. #13
    Join Date
    Oct 2013
    Beans
    4

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by PointSource View Post
    I've compiled a custom kernel from Saucy's linux-source-3.11, with:
    • a disabled CONFIG_USB_XHCI_HCD so that wifi works. No USB 3.0 for you.
    • and these patches to the HID drivers to make the type cover operational:
    That's great, I can confirm this works. I can connect to wifi and use the Type 2 keyboard cover (not the touchpad on it, though). Please post a link to the bug report after you post it, I'd like to follow it.

  4. #14
    Join Date
    Jan 2007
    Beans
    96
    Distro
    Ubuntu

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by radu-banabic View Post
    I can connect to wifi and use the Type 2 keyboard cover (not the touchpad on it, though). Please post a link to the bug report after you post it, I'd like to follow it.
    Bug filed at https://bugzilla.kernel.org/show_bug.cgi?id=64811.

    You can't use the type cover's touchpad? It works for me: single-tap click, two-finger-tap right-click, two-finger scroll, and right- and left-click push-button. Both push-buttons produce a strange "touchpad disabled" notification that does nothing.

    edit: actually, both pushbuttons work.
    Last edited by PointSource; November 12th, 2013 at 06:13 AM.

  5. #15
    Join Date
    Nov 2013
    Beans
    1

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by PointSource View Post
    I've compiled a custom kernel from Saucy's linux-source-3.11, with:
    • a disabled CONFIG_USB_XHCI_HCD so that wifi works. No USB 3.0 for you.
    • and these patches to the HID drivers to make the type cover operational:
    Hello,

    I use the Surface Pro (1) with Type cover 2. Is that package suitable for me? I am asking because Wifi is working out of the box. It would be nice to know how I can enable just the Type Cover 2.

    Thanks in advance

  6. #16
    Join Date
    Oct 2013
    Beans
    4

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by PointSource View Post
    You can't use the type cover's touchpad?
    No, I cannot. I get the same touchpad disabled notification when I press the buttons, but I don't see the cursor moving and I don't see any effect of the buttons. It doesn't bother me much, though.

  7. #17
    Join Date
    Jan 2007
    Beans
    96
    Distro
    Ubuntu

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by adritoelagil View Post
    I use the Surface Pro (1) with Type cover 2. Is that package suitable for me? I am asking because Wifi is working out of the box. It would be nice to know how I can enable just the Type Cover 2.
    If you're prepared to give up USB 3.0 (and that doesn't cause any flow-on problems), then yes, that package will work. Otherwise, you'll need to compile a kernel with the hid patches specified in the previous post.

  8. #18
    Join Date
    Oct 2013
    Beans
    10

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Thanks for the custom kernel. If I can ever figure out a bootloader for this thing I may get to use it. Most directions say to install boot-repair, but unless i'm missing something, they are assuming that one has an internet connection first. Seeing as how there's no connectivity when "trying" the install on a live disk I can't use apt to install it. I tried manually adding refind , which boots and gives me choices, but it seems the windows boot manager takes over after that and points to the wrong place. I'm not a linux pro or anything, I'm used to working in it and very rarely have to do customized installs. How exactly did you all get this to boot to your installation?

    Thanks.

  9. #19
    Join Date
    May 2008
    Beans
    16

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by PointSource View Post
    I've compiled a custom kernel from Saucy's linux-source-3.11, with:
    • a disabled CONFIG_USB_XHCI_HCD so that wifi works. No USB 3.0 for you.
    well I tried that as well. But I do not seem to get rid of the xhci_hcd driver.
    - i followed this simple guide to compile a custom kernel: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
    - in configs I navigated to the xhci_hcd driver and set it to "N"
    - I saved the config as .config
    - compiled the kernel
    - installed the kernel
    - rebooted

    /boot/config... shows xhci_hcd as not set. the xhci driver is loaded nonetheless.
    modprobe -r xhci_hcd reports that the driver is build-in.
    Can you point me in the right direction?

    and thanks for the kernel. just installed it and I can confirm that wifi works. I might be able to extend your patch to the hid driver to cover the touch cover 2 as well (as soon as I get the kernel compilation to work).

    Thanks again!
    Last edited by ubootfanat; November 15th, 2013 at 11:32 PM.

  10. #20
    Join Date
    Jan 2007
    Beans
    96
    Distro
    Ubuntu

    Re: Will Ubuntu work on the Surface Pro 2 like it did on the original?

    Quote Originally Posted by gunskilldreams View Post
    Thanks for the custom kernel. If I can ever figure out a bootloader for this thing I may get to use it. Most directions say to install boot-repair, but unless i'm missing something, they are assuming that one has an internet connection first. Seeing as how there's no connectivity when "trying" the install on a live disk I can't use apt to install it. I tried manually adding refind , which boots and gives me choices, but it seems the windows boot manager takes over after that and points to the wrong place. I'm not a linux pro or anything, I'm used to working in it and very rarely have to do customized installs. How exactly did you all get this to boot to your installation?
    I found I didn't need to use boot-repair, 13.10 was able to install grub in EFI mode and provide an entry for windows just fine.

    Yes, the windows boot manager did take over a couple times. When it did, I booted back through the liveUSB, and ran these commands:
    Code:
    # efibootmgr
    ...
    BootOrder: 0001,0002,0000
    Boot0000* USB Drive
    Boot0001* Windows Boot Manager
    Boot0002* ubuntu
    # efibootmgr --bootorder 0002,0001,0000
    ...
    Take note of the underlined bits: you can change the UEFI boot order by re-arranging the comma separated list of boot entry hex-codes.

    Although on a fairly regular basis, the Surface will boot to GRUB and the keyboard won't work until ubuntu loads. I've found powering into the BIOS configuration and then restarting again restores keyboard operation.

Page 2 of 16 FirstFirst 123412 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •