Preface

Last Updated: 20/07/2017

Hello World

As part of cleaning up, everything relating to the DV11 has moved to this sub-page.


Google Bait

Running Linux on Dell Venue 11 Pro (7130)

Ye ol' Index

Status

Currently Running

Fedora 25 on Venue 11, Kernel 4.11.8
OpenSUSE Tumbleweed on Venue 11, Kernel 4.11.8

Bug Reports

@kernel.org
-----------
#67921  - Dell Wireless 1537 / 1538 support
#73081  - Fail to setup bluetooth on Dell Venue 8 / 11 Pro
#102281 - Venue 11 power button not detected / handled
#109231 - O2 Micro, SD/MMC Card Reader doesn't work

Device Status

Dell Venue 11 Pro, 7130, on Kernel 4.11.8
Dell Venue 11 Pro, Camera Test Commands
Dell Venue 11 Pro, Dock Functionality
MicroSD Card Slot Notes

Per Dell: SD card slot speeds on Dell Venue Tablets

Thread: Dell Venue 128GB MicroSD card support

Overall Experience

Apart from power button / keyboard flap quirks, no complaints.

Preliminaries

The Venue 11 will basically run anything, because it's effectively behaving like a normal PC.

Public Service Announcements

GDM / LightDM notes.

Power Management

Suspend / Hibernate Fine.

Power Button Bug.

X.org

Just works.

Wayland

Likewise, works.

Firmware

Atheros 6K / Dell 1537 wireless

For wifi to work we need a newer release of the ath6kl firmware then is currently shipped in the Linux firmware package.

Qualcomm has these in their ath6kl firmware repo.
The AR6004 folder sits in /lib/firmware/ath6k/ on your filesystem.

Near-field communication (NFC)

Hardware Requirements

The Venue 11 Pro series ship with an NXP PN544 NFC chip.

Software Requirements

Be advised, libnfc is not compatible with PN544 hardware.

The NFC module can be poked at if you go through the effort of compiling the Linux-NFC middleware made by Intel. Fedora doesn't seem to have this package in the default repo.

Everything else is already in place from Kernel 3.12 onward.

For other distributions you may be able to find the "neard" package:
- In AUR for Arch.
- In Sid (Unstable) for Debian.
- In the Offical Repo for OpenSuse.

The "neard" application manages everything pretty much but more importantly it contains a number of tools that allow us to verify NFC functionality.

Perhaps a source of enlightenment, the Intel NFC bugtracker.

TL;DR; nfctool

[root@DV11 neard]# ./tools/nfctool/nfctool  -l
nfc0:
          Tags: [ ]
          Devices: [ ]
          Protocols: [ Felica MIFARE Jewel ISO-DEP NFC-DEP ]
          Powered: No
          RF Mode: None
          lto: 150
          rw: 15
          miux: 2047

Working with "neard"

Assuming you've succesfully compiled / package installed the middleware here's a series of commands that may offer some insight.

First start the monitoring tool.

[root@DV11 neard]# ./test/monitor-near

Then launch "neard" in another terminal

[root@DV11 neard]# ./src/neard

The monitor output should now have been updating like thus

# monitor-near

{Added org.neard.Adapter} [/org/neard/nfc0]
      Protocols = dbus.Array([dbus.String(u'Felica'), dbus.String(u'MIFARE'), dbus.String(u'Jewel'), dbus.String(u'ISO-DEP'), dbus.String(u'NFC-DEP')], signature=dbus.Signature('s'), variant_level=1)
      Mode = Idle
      Polling = 0
      Powered = 0
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0]
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0]
{Added org.neard.PHDC} [/org/neard]

You should now be able to read out the basics of the NFC hardware

[root@DV11 neard]# ./test/test-adapter list
 [ /org/neard/nfc0 ]
    Protocols = [ Felica MIFARE Jewel ISO-DEP NFC-DEP ]
    Mode = Idle
    Polling = false
    Powered = false

Proceed to turn the hardware on and it will trigger the loading and initialization of the PN544 module + friends.

[root@DV11 neard]# ./test/test-adapter powered nfc0 on
# monitor-near
{Adapter.PropertyChanged} [/org/neard/nfc0] Powered = 1

# dmesg
[  196.457542] mei_phy: nfc_mei_phy_enable
[  196.464087] mei_phy: mei_nfc_if_version
[  196.486181] mei_phy: mei_nfc_connect
[  196.490400] mei_phy: IVN 0x1 Vendor ID 0x1
[  196.490403] mei_phy: ME FW 9.5.30.1808
[  196.991726] FULL VERSION SOFTWARE INFO: b1 02 01 02 00 01 02 0a 02 0a 02
[  196.999684] hci: hci_dev_version: SOFTWARE INFO:
[  196.999686] hci: hci_dev_version: RomLib         : 11
[  196.999687] hci: hci_dev_version: Patch          : 1
[  196.999688] hci: hci_dev_version: FlashLib Major : 2
[  196.999689] hci: hci_dev_version: FlashLib Minor : 10
[  196.999689] hci: hci_dev_version: HARDWARE INFO:
[  196.999690] hci: hci_dev_version: Derivative     : 3
[  196.999691] hci: hci_dev_version: HW Version     : 2
[  196.999691] hci: hci_dev_version: #MPW           : 0
[  196.999692] hci: hci_dev_version: Software       : 0
[  196.999693] hci: hci_dev_version: BSID Version   : 3

Enable Polling mode so the NFC radio will be able to "scan" for a tag and (facing the front of the unit) swipe something with RFID along the back of the right hand side.

Keep in mind that while testing polling will automatically get disabled again after an NFC activity has completed. Likewise scanned information is immediately discarded when using these test tools.

[root@DV11 neard]# ./test/test-adapter poll nfc0 on initiator

# monitor-near
{Added org.neard.Tag} [/org/neard/nfc0/tag0]
      Protocol = ISO-DEP
      ReadOnly = 0
      Type = Type 4A
      Adapter = /org/neard/nfc0
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/tag0]
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/tag0]
{Removed org.freedesktop.DBus.Properties} [/org/neard/nfc0/tag0]
{Removed org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/tag0]
{Removed org.neard.Tag} [/org/neard/nfc0/tag0]
{Adapter.PropertyChanged} [/org/neard/nfc0] Mode = Idle

Alternatively with NFCard on Android sending a URL "record" to the Venue 11 Pro.

[root@DV11 neard]# ./test/test-adapter poll nfc0 on initiator

# monitor-near
{Added org.neard.Device} [/org/neard/nfc0/device15]
      Adapter = /org/neard/nfc0
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/device15/record0]
{Added org.neard.Record} [/org/neard/nfc0/device15/record0]
      Type = URI
      URI = http://play.google.com/store/apps/details?id=com.android.apps.tag&feature=beam
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/device15/record0]
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/device15/record1]
{Added org.neard.Record} [/org/neard/nfc0/device15/record1]
      Type = AAR
      AAR = com.android.apps.tag
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/device15/record1]

Again with NFCard but now we use Peer to Peer mode, receiving a "P2P" URL from the app upon tapping the Android device screen to initiate communication.

[root@DV11 neard]# ./test/test-adapter poll nfc0 on target
	
# monitor-near
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/device0]
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/device0]
{Added org.neard.Device} [/org/neard/nfc0/device0]
      Adapter = /org/neard/nfc0
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/device0/record0]
{Added org.neard.Record} [/org/neard/nfc0/device0/record0]
      Type = URI
      URI = http://play.google.com/store/apps/details?id=com.sinpo.xnfc
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/device0/record0]

Lastly, we'll send a test message via Peer to Peer mode to the Android device. Now the moment you hold your device to the Venue Pro "neard" will start to establish a device entity.

[root@DV11 neard]# ./test/test-adapter poll nfc0 on target

#monitor-near
{Added org.freedesktop.DBus.Introspectable} [/org/neard/nfc0/device17]
{Added org.freedesktop.DBus.Properties} [/org/neard/nfc0/device17]
{Added org.neard.Device} [/org/neard/nfc0/device17]
      Adapter = /org/neard/nfc0

You'll now have a short window of opportunity to verify the device entity and send a test example over. There are a number of options which can be found by doing a dry run with the "test-device" tool but here we opt for simple text.

[root@DV11 neard]# ./test/test-device dump
[ /org/neard/nfc0/device17 ]

[root@DV11 neard]# ./test/test-device push /org/neard/nfc0/device17 Text UTF-8 en-US "Hello World, I finally got it to work."

At this point your device should have received the test text string and "neard" will return to idle.

It should be possible to write tags but I lack any further NFC elements bar the Android phone used for testing.

Tiny Hat Tip to this Texas Instruments PDF document which was helpful in getting the polling clues. Pages 7 to 15 show a series of NFC examples including writing RFID tags.

Wireless .alt.venue11

M.2 / NGFF Modules

The Venue 11 7130 has a user accessible M.2 slot in which we can swap a better functioning WiFi / Bluetooth module until the Dell Wireless 1537 is more functional. Dell's BIOS in this model doesn't seem to employ any form of white listing unlike other vendors (I'm looking at you here Lenovo & HP) so I've been able to test a number of "unofficial" cards without limitations.

Seeing as my parts pile didn't get any interesting samples I went ahead and ordered a couple more cards to round out the list of options. This should statisfy both purists and those who favour Intel cards. I have no intention to look at Broadcom cards at this time unless one happens to come by and I have time.

ToDo: Note Bluetooth Kernel modules.

Atheros "ath9k" cards

For further background information consult the ath9k Wiki

Intel "iwlwifi" cards

For further background information consult the iwlwifi Wiki

Swapping WiFi Cards

Proceed with the following at your own peril. Remember to be patient, don't force things and it's also a good idea to read the instructions in full first. If you don't feel confident you can perform this procedure ask someone with more skill to do it for you. Realistically it shouldn't take more then 5 - 10 minutes if that.

At this point your Venue 11 may not immediatly respond to you pressing the power button. Don't Panic. What tends to happen in my case is the following after swapping cards. (PBP = Power Button Press)

I'm assuming the Venue 11 adjusting to a new hardware configuration is a multi-step process internally and thus the outlined behaviour. What ever you do, be patient between power button presses.

Wireless "ath6kl"

Wireless ID not in Kernel yet.

Found the wireless card again, will have a look at testing when I have time.

Easiest to install a supported Atheros or Intel card at the moment.

Bluetooth

Works with third party card installed.

ALSA

Just works.

Hardware Buttons

For the Venue 11 the "soc_button_array" module is needed

By default the mappings are thus:

Power Button

On the Venue 11 the power button is not detected (#102281), everything else is.

Fun with Industrial I/O

See IIO segment on parent page.

System Summary (DV11P)

Atheros SDIO Wifi (ath6kl)

Dell Venue 11 Pro

Revision Log

July/2017
- Migrated DV11 to sub-page

//- Rev -// v0.x // Epoch