* Re: [bugreport]
From: Serhiy Kachaniuk @ 2010-05-11 16:40 UTC (permalink / raw)
To: Iain Hibbert; +Cc: linux-bluetooth
In-Reply-To: <1273589222.840882.854.nullmailer@galant.ukfsn.org>
2010/5/11 Iain Hibbert:
>
> Serhiy, from your message on the ubuntu bug report
>
>> Maybe the reason is that this dongle doesn't support reading/writing of
>> 'Default Link Policy Settings' ?
>
> and this command was introduced in spec version 1.2, and your device
> reports
>
>> HCI Ver: 1.1 (0x1) HCI Rev: 0x3 LMP Ver: 1.1 (0x1) LMP Subver: 0x800
>
> so yes, that is likely the problem as it is too old.
>
> That bluez has no handling for the possibility that the command may not be
> supported is possibly a bug or possibly an indication that older devices
> are no longer to be supported, I can't really say which.
>
Yeah, i see that this device is a little buggy, but it worked in
previous version of bluez, so maybe it is possible to make it work
again for current version?
^ permalink raw reply
* Re: [bugreport]
From: Serhiy Kachaniuk @ 2010-05-11 16:38 UTC (permalink / raw)
To: Vinicius Gomes; +Cc: linux-bluetooth
In-Reply-To: <AANLkTiliG_XySAecN9JZ9cBt1rEc7IqtFB7ISaHP4yDb@mail.gmail.com>
2010/5/11 Vinicius Gomes :
> This (the mailing list) is the correct place for bug reports.
>
> Someone here in the office has an ancient Bluetooth 1.2 dongle, which
> shows a similar problem. Now that you discovered that it is probably a
> regression and I can reproduce it, I will try to debug it.
>
> And it looks like that the hcidump logs that you attached in your
> first email got lost somehow.
They're attached to bugreport on launchpad
for bluez version 4.64 http://launchpadlibrarian.net/47890286/hcidump.txt
for bluez version 4.32 http://launchpadlibrarian.net/47890843/hcidump_old.txt
>
> Anyway, I think that the only information missing is your kernel version.
Kernel version seems irrelevant. Anyway, first version, when i
discovered this problem was 2.6.31. Now i use 2.6.32 and problem
persists.
^ permalink raw reply
* Re: magicmouse: claimed by neither input, hiddev nor hidraw
From: Justin P. Mattock @ 2010-05-11 16:32 UTC (permalink / raw)
To: Jiri Kosina; +Cc: linux-bluetooth, Linux Kernel Mailing List
In-Reply-To: <alpine.LNX.2.00.1005102351220.28092@pobox.suse.cz>
o.k. peoples.. I've posted a patch
that gets everything(hopefully), working
over here.
subject: HID:magicmouse: This fixes a connection problem with the
magicmouse.
please check it out, and let me know..
Justin P. Mattock
^ permalink raw reply
* [PATCH] HID:magicmouse: This fixes a connection problem with the magicmouse.
From: Justin P. Mattock @ 2010-05-11 16:29 UTC (permalink / raw)
To: linux-bluetooth; +Cc: linux-kernel, jkosina, mdpoole, Justin P. Mattock
With the latest HEAD, I've noticed that I needed to add: HIDRAW=y
in order for my apple magicmouse to connect.
After receiving some posts, it seems this it not
the case(HIDRAW just relays HID events to userspace).
The bisect results of this issue resulted in commit:
HID:magicmouse: fix oops after device removal.
(hash:28918c211d86b6eeb70182c523800c7bc442960c)
After examining this commit, I've noticed that
HID_CONNECT_DEFAULT has also an entry in there
of HID_CONNECT_HIDINPUT, not sure what "~" means,
before HID_CONNECT_HIDINPUT, but after removing
this(correct me if I'm wrong)"double" definition,
I'm able to have my magicmouse connect without the
need of HIDRAW, and also this in dmesg:
magicmouse 0005:05AC:030D.0004: claimed by neither input, hiddev nor hidraw
magicmouse 0005:05AC:030D.0004: magicmouse hw start failed
and as well as the crash that the above commit fixes when waking
up from suspend(mouse connects perfectly upon wakeup).
Please have a look, and if this works, take it
if theres another solution let me know.
(so I can enjoy the power of the magicmouse!!).
Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
---
drivers/hid/hid-magicmouse.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c
index 0d471fc..0de5e96 100644
--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -354,7 +354,7 @@ static int magicmouse_probe(struct hid_device *hdev,
goto err_free;
}
- ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT & ~HID_CONNECT_HIDINPUT);
+ ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT);
if (ret) {
dev_err(&hdev->dev, "magicmouse hw start failed\n");
goto err_free;
--
1.6.5.GIT
^ permalink raw reply related
* [PATCH 9/9] Changes HDP record example from source to sink
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
Changes example from source to sink, adds hint about Nonin
oximeters and a canned pnpinfo.xml to satisfy device identification.
---
test/hdp/hdp_record_add.py | 22 ++++++++++++++++++++--
test/hdp/pnpinfo.xml | 29 +++++++++++++++++++++++++++++
2 files changed, 49 insertions(+), 2 deletions(-)
create mode 100644 test/hdp/pnpinfo.xml
diff --git a/test/hdp/hdp_record_add.py b/test/hdp/hdp_record_add.py
index 2574570..cc0ed26 100755
--- a/test/hdp/hdp_record_add.py
+++ b/test/hdp/hdp_record_add.py
@@ -5,8 +5,8 @@ import sys
import time
import dbus
-feature1 = {'mdep_id': 0x01, 'role': 'source',
- 'data_type': 0x1004, 'description': "Fake oximeter"}
+feature1 = {'mdep_id': 0x01, 'role': 'sink',
+ 'data_type': 0x1004, 'description': "Oximeter sink"}
# feature2 = {'mdep_id': 0x01, 'role': 'source', 'data_type': 0x4005}
# feature3 = {'mdep_id': 0x02, 'role': 'sink', 'data_type': 0x4006}
# feature4 = {'mdep_id': 0x04, 'role': 'sink', 'data_type': 0x4007}
@@ -35,8 +35,12 @@ service = dbus.Interface(bus.get_object("org.bluez", path),
"org.bluez.Service")
handle = service.AddRecord(xml)
+# handle2 = service.AddRecord(open("pnpinfo.xml").read())
+handle2 = None
print "Service record with handle 0x%04x added" % (handle)
+if handle2:
+ print "Service record with handle 0x%04x added" % (handle2)
print "Press CTRL-C to remove service record"
@@ -47,3 +51,17 @@ except:
pass
service.RemoveRecord(dbus.UInt32(handle))
+if handle2:
+ service.RemoveRecord(dbus.UInt32(handle2))
+
+# Hints for testing w/ Nonin 9650 oximeter:
+
+# Listen CSM channel with l2test -P 4097 -X ertm -O 48 -r
+
+# Nonin only searches PC SDP records right after cells disconnected (!),
+# if it can't connect to CSM at first time, it seems not to try again,
+# and cells must be removed for it to happen. (Thanks to Libresoft guys
+# about this issue.)
+
+# The Device Identification (PNPINFO) record is mandatory accordingly
+# to HDP spec, but seems not to make a difference.
diff --git a/test/hdp/pnpinfo.xml b/test/hdp/pnpinfo.xml
new file mode 100644
index 0000000..d04559b
--- /dev/null
+++ b/test/hdp/pnpinfo.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!-- Fake device identification (PNPINFO)
+ Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+-->
+<record>
+ <attribute id="0x0001">
+ <sequence>
+ <uuid value="0x1200" />
+ </sequence>
+ </attribute>
+ <attribute id="0x0200">
+ <uint16 value="0x0103" />
+ </attribute>
+ <attribute id="0x0201">
+ <uint16 value="0x2000" />
+ </attribute>
+ <attribute id="0x0202">
+ <uint16 value="0x1234" />
+ </attribute>
+ <attribute id="0x0203">
+ <uint16 value="0x0200" />
+ </attribute>
+ <attribute id="0x0204">
+ <boolean value="true" />
+ </attribute>
+ <attribute id="0x0205">
+ <uint16 value="0x0002" />
+ </attribute>
+</record>
--
1.7.0.4
^ permalink raw reply related
* [PATCH 8/9] Adds HDP record auto-testing script
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This script is a simple auto-testing for the hdp_record module.
---
test/hdp/hdp_record_autotest.py | 42 +++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
create mode 100755 test/hdp/hdp_record_autotest.py
diff --git a/test/hdp/hdp_record_autotest.py b/test/hdp/hdp_record_autotest.py
new file mode 100755
index 0000000..087f1b9
--- /dev/null
+++ b/test/hdp/hdp_record_autotest.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+
+import hdp_record
+
+sample = open("record_sample1.xml").read()
+record1 = hdp_record.parse_xml(sample)[0]
+record2 = hdp_record.parse_xml(hdp_record.gen_xml(record1))[0]
+# NOTE dependent on actual contents of xml file
+assert(record1 == record2)
+assert(record1['name'] == 'Nonin Oximeter')
+assert(record1['handle'] == 0x00010030)
+assert(record1['mcap_control_psm'] == 0x1001)
+assert(record1['mcap_data_psm'] == 0x1003)
+assert(len(record1['features']) == 1)
+assert('csp' in record1['mcap_procedures'])
+assert('reconnect_init' not in record1['mcap_procedures'])
+assert(record1['features'][0]['data_type'] == 0x1004)
+assert(record1['features'][0]['role'] == ('source'))
+
+feature1 = {'mdep_id': 0x01, 'role': 'source',
+ 'data_type': 0x1004, 'description': "Fake oximeter"}
+feature2 = {'mdep_id': 0x01, 'role': 'source', 'data_type': 0x4005}
+feature3 = {'mdep_id': 0x02, 'role': 'sink', 'data_type': 0x4006}
+feature4 = {'mdep_id': 0x04, 'role': 'sink', 'data_type': 0x4007}
+features = [feature1, feature2, feature3, feature4]
+hdp = {}
+hdp['mcap_control_psm'] = 0x1001
+hdp['features'] = features
+hdp['mcap_data_psm'] = 0x1003
+# NOTE default is 0x01, specified just to satisfy assertion below
+hdp['data_spec'] = 0x01
+hdp['name'] = "Fake oximeter"
+hdp['description'] = "A fake HDP record"
+hdp['provider'] = "Epx Inc."
+# NOTE order is important to satisfy assertion below
+hdp['mcap_procedures'] = ('reconnect_init', 'reconnect_accept', \
+ 'csp', 'csp_master')
+hdp2 = hdp_record.parse_xml(hdp_record.gen_xml(hdp), True)[0]
+
+assert(hdp['features'] == hdp2['features'])
+assert(hdp == hdp2)
+print "Ok"
--
1.7.0.4
^ permalink raw reply related
* [PATCH 7/9] Adds an HDP record browser
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This script 'scans' known devices and interprets every HDP record
that it can find. The output is the raw dictionary format which
hdp_record module understands/delivers upon parsing.
---
test/hdp/hdp_record_scan.py | 36 ++++++++++++++++++++++++++++++++++++
1 files changed, 36 insertions(+), 0 deletions(-)
create mode 100755 test/hdp/hdp_record_scan.py
diff --git a/test/hdp/hdp_record_scan.py b/test/hdp/hdp_record_scan.py
new file mode 100755
index 0000000..d8a6a2c
--- /dev/null
+++ b/test/hdp/hdp_record_scan.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+import hdp_record
+import dbus
+
+bus = dbus.SystemBus()
+
+manager = dbus.Interface(bus.get_object("org.bluez", "/"),
+ "org.bluez.Manager")
+
+adapter_list = manager.ListAdapters()
+
+for i in adapter_list:
+ adapter = dbus.Interface(bus.get_object("org.bluez", i),
+ "org.bluez.Adapter")
+ properties = adapter.GetProperties()
+ try:
+ device_list = properties["Devices"]
+ except:
+ device_list = []
+
+ for n in device_list:
+ device = dbus.Interface(bus.get_object("org.bluez", n),
+ "org.bluez.Device")
+ p = device.GetProperties()
+ print "Discovering device", p['Address'], p['Name']
+ try:
+ services = device.DiscoverServices("")
+ except:
+ services = {}
+
+ for handle in services.keys():
+ hdp = hdp_record.parse_xml(services[handle])
+ if hdp:
+ print "Handle %08x:" % handle
+ print hdp_record.parse_xml(services[handle])
--
1.7.0.4
^ permalink raw reply related
* [PATCH 6/9] Adds HDP record adder script
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This script creates an HDP profile from a service dictionary
(in a format that hdp_record module understands), generates
the XML and adds the service in SDP using D-BUS.
---
test/hdp/hdp_record_add.py | 49 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 49 insertions(+), 0 deletions(-)
create mode 100755 test/hdp/hdp_record_add.py
diff --git a/test/hdp/hdp_record_add.py b/test/hdp/hdp_record_add.py
new file mode 100755
index 0000000..2574570
--- /dev/null
+++ b/test/hdp/hdp_record_add.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+
+import hdp_record
+import sys
+import time
+import dbus
+
+feature1 = {'mdep_id': 0x01, 'role': 'source',
+ 'data_type': 0x1004, 'description': "Fake oximeter"}
+# feature2 = {'mdep_id': 0x01, 'role': 'source', 'data_type': 0x4005}
+# feature3 = {'mdep_id': 0x02, 'role': 'sink', 'data_type': 0x4006}
+# feature4 = {'mdep_id': 0x04, 'role': 'sink', 'data_type': 0x4007}
+# features = [feature1, feature2, feature3, feature4]
+features = [feature1]
+hdp = {'features': features}
+hdp['mcap_control_psm'] = 0x1001
+hdp['mcap_data_psm'] = 0x1003
+hdp['name'] = "Fake oximeter"
+hdp['description'] = "A fake HDP record"
+hdp['provider'] = "Epx Inc."
+hdp['mcap_procedures'] = ('csp', 'csp_master', 'reconnect_init', \
+ 'reconnect_accept')
+xml = hdp_record.gen_xml(hdp)
+
+bus = dbus.SystemBus()
+manager = dbus.Interface(bus.get_object("org.bluez", "/"),
+ "org.bluez.Manager")
+
+if len(sys.argv) > 1:
+ path = manager.FindAdapter(sys.argv[1])
+else:
+ path = manager.DefaultAdapter()
+
+service = dbus.Interface(bus.get_object("org.bluez", path),
+ "org.bluez.Service")
+
+handle = service.AddRecord(xml)
+
+print "Service record with handle 0x%04x added" % (handle)
+
+print "Press CTRL-C to remove service record"
+
+try:
+ time.sleep(1000)
+ print "Terminating session"
+except:
+ pass
+
+service.RemoveRecord(dbus.UInt32(handle))
--
1.7.0.4
^ permalink raw reply related
* [PATCH 5/9] Adds a HDP XML record parsing script
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This patch adds a very simple script which interprets an HDP
record in XML format and outputs a dictionary. The script accepts
either files or standard input as XML sources.
---
test/hdp/hdp_record_parse.py | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
create mode 100755 test/hdp/hdp_record_parse.py
diff --git a/test/hdp/hdp_record_parse.py b/test/hdp/hdp_record_parse.py
new file mode 100755
index 0000000..27d0f35
--- /dev/null
+++ b/test/hdp/hdp_record_parse.py
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import hdp_record
+import sys
+
+if len(sys.argv) > 1:
+ xml = open(sys.argv[1]).read()
+else:
+ xml = sys.stdin.read()
+
+print hdp_record.parse_xml(xml)
--
1.7.0.4
^ permalink raw reply related
* [PATCH 4/9] Adds sample HDP record generation script
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This patch adds a very simple HDP record generation script,
which makes the XML-formatted record from a simple dict with
HDP info.
---
test/hdp/hdp_record_gen.py | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
create mode 100755 test/hdp/hdp_record_gen.py
diff --git a/test/hdp/hdp_record_gen.py b/test/hdp/hdp_record_gen.py
new file mode 100755
index 0000000..4d9ce03
--- /dev/null
+++ b/test/hdp/hdp_record_gen.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python
+
+import hdp_record
+
+feature1 = {'mdep_id': 0x01, 'role': 'source',
+ 'data_type': 0x1004, 'description': "Fake oximeter"}
+feature2 = {'mdep_id': 0x01, 'role': 'source', 'data_type': 0x4005}
+feature3 = {'mdep_id': 0x02, 'role': 'sink', 'data_type': 0x4006}
+feature4 = {'mdep_id': 0x04, 'role': 'sink', 'data_type': 0x4007}
+# features = [feature1, feature2, feature3, feature4]
+features = [feature1]
+hdp = {'features': features}
+hdp['mcap_control_psm'] = 0x1001
+hdp['mcap_data_psm'] = 0x1003
+hdp['name'] = "Fake oximeter"
+hdp['description'] = "A fake HDP record"
+hdp['provider'] = "Epx Inc."
+hdp['mcap_procedures'] = ('csp', 'csp_master', 'reconnect_init', \
+ 'reconnect_accept')
+print hdp_record.gen_xml(hdp)
--
1.7.0.4
^ permalink raw reply related
* [PATCH 3/9] Adds HDP record parsing capability to hdp_record
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This patch adds XML record parsing capability to hdp_record
module. This allows a Python application to handle the HDP
record as a simple, specialized dict instead of a XML.
---
test/hdp/hdp_record.py | 518 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 518 insertions(+), 0 deletions(-)
diff --git a/test/hdp/hdp_record.py b/test/hdp/hdp_record.py
index d4d72d6..8ee8b28 100644
--- a/test/hdp/hdp_record.py
+++ b/test/hdp/hdp_record.py
@@ -191,3 +191,521 @@ def gen_xml(service):
add_attr(doc, record, 0x0302, ('uint8', mcap_supported_procedures))
return doc.toprettyxml(encoding="UTF-8")
+
+
+def parse_uint(node):
+ value = 0
+ error = ""
+ xvalue = node.attributes.get("value")
+
+ if xvalue is None:
+ error = "No value attribute"
+ else:
+ xvalue = xvalue.nodeValue
+ try:
+ value = string.atoi(xvalue, 0)
+ except (ValueError, TypeError):
+ error = "Invalid value"
+ if value < 0:
+ error = "Value < 0"
+
+ return (value, error)
+
+
+def parse_text(node):
+ value = ""
+ error = ""
+ xvalue = node.attributes.get("value")
+
+ if xvalue is None:
+ error = "No value attribute"
+ else:
+ value = xvalue.nodeValue
+
+ return (value, error)
+
+
+def parse_uuid(node):
+ return parse_text(node)
+
+
+def parse_name(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'text':
+ service['error'] = "Bad name attr"
+ return
+
+ value, error = parse_text(nodelist[0])
+ if error:
+ service['error'] = "Bad name attr"
+ return
+
+ service['name'] = value
+
+
+def parse_description(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'text':
+ service['error'] = "Bad description attr"
+ return
+
+ value, error = parse_text(nodelist[0])
+ if error:
+ service['error'] = "Bad description attr"
+ return
+
+ service['description'] = value
+
+
+def parse_provider(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'text':
+ service['error'] = "Bad provider attr"
+ return
+
+ value, error = parse_text(nodelist[0])
+ if error:
+ service['error'] = "Bad provider attr"
+ return
+
+ service['provider'] = value
+
+
+def parse_handle(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'uint32':
+ service['error'] = "Bad handle"
+ return
+
+ value, error = parse_uint(nodelist[0])
+ if error:
+ service['error'] = "Bad handle"
+ return
+
+ service['handle'] = value
+
+
+def parse_data_spec(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'uint8':
+ service['error'] = "Bad data spec"
+ return
+
+ value, error = parse_uint(nodelist[0])
+ if error:
+ service['error'] = "Bad data spec"
+ return
+
+ service['data_spec'] = value
+
+ if value != 0x01:
+ service['error'] = "Unsupported data spec"
+
+
+def parse_mcap_procedures(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'uint8':
+ service['error'] = "Bad MCAP supported procs"
+ return
+
+ value, error = parse_uint(nodelist[0])
+ if error:
+ service['error'] = "Bad MCAP supported procs"
+ return
+
+ proc_list = []
+
+ if value & 0x02:
+ proc_list.append('reconnect_init')
+ if value & 0x04:
+ proc_list.append('reconnect_accept')
+ if value & 0x08:
+ proc_list.append('csp')
+ if value & 0x10:
+ proc_list.append('csp_master')
+
+ service['mcap_procedures'] = tuple(proc_list)
+
+
+def parse_pdl(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad profile descriptor list (1)"
+ return
+
+ nodelist = nodelist[0].childNodes
+
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad profile descriptor list (2)"
+ return
+
+ nodelist = nodelist[0].childNodes
+
+ if len(nodelist) != 2 or \
+ nodelist[0].tagName != 'uuid' or \
+ nodelist[1].tagName != 'uint16':
+
+ service['error'] = "Bad profile descriptor list (3)"
+ return
+
+ uuid, error = parse_uuid(nodelist[0])
+ if error:
+ service['error'] = "Bad profile descriptor list (4)"
+ return
+
+ version, error = parse_uint(nodelist[1])
+ if error:
+ service['error'] = "Bad profile descriptor list (5)"
+ return
+
+ if version != 0x0100:
+ service['error'] = "Unsupported HDP version"
+ return
+
+ service['_version'] = version
+
+
+
+def parse_roles(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad role attribute"
+ return
+
+ nodelist = nodelist[0].childNodes
+ if not len(nodelist):
+ service['error'] = "No roles in attr"
+ return
+
+ roles = {}
+
+ for node in nodelist:
+ if node.tagName != "uuid":
+ service['error'] = "Bad role item in attribute"
+ return
+
+ uuid, error = parse_uuid(node)
+ if error:
+ service['error'] = "Bad role item in attribute"
+ return
+
+ try:
+ uuid = string.atoi(uuid, 0)
+ if uuid == 0x1401:
+ roles['source'] = True
+ elif uuid == 0x1402:
+ roles['sink'] = True
+
+ except (ValueError, TypeError):
+ service['error'] = "Bad UUID in role: %s" % uuid
+ return
+
+ service['_roles'] = roles
+ if not roles:
+ # This is not an HDP record, ignore
+ service['_not_hdp'] = True
+
+
+def parse_additional_protos(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad additional protocol attribute"
+ return
+
+ nodelist = nodelist[0].childNodes
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad additional protocol attribute"
+ return
+
+ nodelist = nodelist[0].childNodes
+
+ if len(nodelist) != 2 or \
+ nodelist[0].tagName != 'sequence' or \
+ nodelist[1].tagName != 'sequence':
+
+ service['error'] = "Bad additional protocol attribute"
+ return
+
+ if len(nodelist[0].childNodes) != 2 or \
+ len(nodelist[1].childNodes) != 1 or \
+ nodelist[0].childNodes[0].tagName != 'uuid' or \
+ nodelist[0].childNodes[1].tagName != 'uint16' or \
+ nodelist[1].childNodes[0].tagName != 'uuid':
+
+ service['error'] = "Bad add protocol attribute"
+ return
+
+ proto, error1 = parse_uuid(nodelist[0].childNodes[0])
+ dpsm, error2 = parse_uint(nodelist[0].childNodes[1])
+ identifier, error3 = parse_uuid(nodelist[1].childNodes[0])
+
+ error = error1 or error2 or error3
+ if error:
+ service['error'] = error
+ return
+
+ try:
+ proto = string.atoi(proto, 0)
+ except (TypeError, ValueError):
+ proto = 0
+
+ try:
+ identifier = string.atoi(identifier, 0)
+ except (TypeError, ValueError):
+ identifier = 0
+
+ if proto != 0x0100:
+ service['error'] = "Expected LCAP in add protocol attr"
+ return
+
+ if identifier != 0x001f:
+ service['error'] = "Expected MCAP data channel protocol attr"
+ return
+
+ service['mcap_data_psm'] = dpsm
+
+
+def parse_proto(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad protocol attribute"
+ return
+
+ nodelist = nodelist[0].childNodes
+
+ if len(nodelist) != 2 or \
+ nodelist[0].tagName != 'sequence' or \
+ nodelist[1].tagName != 'sequence':
+
+ service['error'] = "Bad protocol attribute (1)"
+ return
+
+ if len(nodelist[0].childNodes) != 2 or \
+ len(nodelist[1].childNodes) != 2 or \
+ nodelist[0].childNodes[0].tagName != 'uuid' or \
+ nodelist[0].childNodes[1].tagName != 'uint16' or \
+ nodelist[1].childNodes[0].tagName != 'uuid' or \
+ nodelist[0].childNodes[1].tagName != 'uint16':
+
+ service['error'] = "Bad protocol attribute (2)"
+ return
+
+ proto, error1 = parse_uuid(nodelist[0].childNodes[0])
+ cpsm, error2 = parse_uint(nodelist[0].childNodes[1])
+ identifier, error3 = parse_uuid(nodelist[1].childNodes[0])
+ version, error4 = parse_uint(nodelist[1].childNodes[1])
+
+ error = error1 or error2 or error3 or error4
+ if error:
+ service['error'] = error
+ return
+
+ try:
+ proto = string.atoi(proto, 0)
+ except (TypeError, ValueError):
+ proto = 0
+
+ try:
+ identifier = string.atoi(identifier, 0)
+ except (TypeError, ValueError):
+ identifier = 0
+
+ if proto != 0x0100:
+ service['error'] = "Expected LCAP in add protocol attr"
+ return
+
+ if identifier != 0x001e:
+ service['error'] = "Expected MCAP control attr"
+ return
+
+ if version != 0x0100:
+ service['error'] = "Unsupported MCAP version"
+ return
+
+ service['mcap_control_psm'] = cpsm
+
+
+def parse_features(nodelist, service):
+ if len(nodelist) != 1 or nodelist[0].tagName != 'sequence':
+ service['error'] = "Bad feature attr"
+ return
+
+ if len(nodelist) < 1:
+ service['error'] = "No features in attr"
+ return
+
+ features = []
+
+ for feature in nodelist[0].childNodes:
+ featurenode = feature.childNodes
+
+ if len(featurenode) < 3 or len(featurenode) > 4:
+ service['error'] = "Invalid feature"
+ return
+
+ mdep_id, error1 = parse_uint(featurenode[0])
+ data_type, error2 = parse_uint(featurenode[1])
+ role, error3 = parse_uint(featurenode[2])
+
+ if len(featurenode) == 4:
+ description, error4 = parse_text(featurenode[3])
+ else:
+ description = None
+ error4 = ""
+
+ error = error1 or error2 or error3 or error4
+ if error:
+ service['error'] = error
+ return
+
+ if role > 0x01:
+ service['error'] = "Unknown role value %d" % role
+ return
+
+ role = {0x00: 'source', 0x01: 'sink'}[role]
+
+ feature = {'mdep_id': mdep_id, 'data_type': data_type,
+ 'role': role}
+
+ if description is not None:
+ feature['description'] = description
+
+ features.append(feature)
+
+ service['features'] = features
+
+
+attr_handlers = {
+ 0x0000: parse_handle,
+ 0x0001: parse_roles,
+ 0x0004: parse_proto,
+ 0x0009: parse_pdl,
+ 0x000d: parse_additional_protos,
+ 0x0200: parse_features,
+ 0x0100: parse_name,
+ 0x0301: parse_data_spec,
+ 0x0302: parse_mcap_procedures,
+ 0x0101: parse_description,
+ 0x0102: parse_provider,
+ }
+
+
+def parse_xml_record_inner(node, forgive_handle):
+ service = {}
+ service['handle'] = None
+ service['features'] = None
+ service['mcap_control_psm'] = None
+ service['handle'] = None
+ service['mcap_data_psm'] = None
+ service['mcap_procedures'] = None
+ service['data_spec'] = None
+ service['name'] = ""
+ service['description'] = ""
+ service['provider'] = ""
+ service['error'] = ""
+ service['_roles'] = None
+ service['_version'] = None
+ service['_not_hdp'] = False
+
+ for child in node.childNodes:
+ if child.tagName != "attribute":
+ continue
+
+ attr_id = child.attributes.get("id")
+
+ if attr_id is None:
+ service['error'] = "Attribute without ID"
+ return service
+
+ attr_id = attr_id.nodeValue
+
+ try:
+ attr_id = string.atoi(attr_id, 0)
+ except (TypeError, ValueError):
+ service['error'] = "Bad attribute ID"
+
+ if attr_id in attr_handlers:
+ if not child.hasChildNodes:
+ service['error'] = "Empty attribute: %04x" \
+ % attr_id
+ return service
+
+ attr_handlers[attr_id](child.childNodes, service)
+
+ if service['error']:
+ return service
+ if service['_not_hdp']:
+ return None
+
+ for k in service.keys():
+ if service[k] is None and (k != 'handle' or not forgive_handle):
+ service['error'] = "%s attribute not specified" % k
+ return service
+
+ mdeps = {}
+
+ for feature in service['features']:
+ role = feature['role']
+ mdep_id = feature['mdep_id']
+
+ if role not in service['_roles']:
+ service['error'] = "Role '%s' in features but " \
+ "not in roles" % role
+ return service
+
+ if mdep_id in mdeps:
+ if mdeps[mdep_id] != role:
+ service['error'] = "MDEP ID %d in both " \
+ "roles" % mdep_id
+ return service
+
+ mdeps[mdep_id] = role
+
+ for k in service.keys():
+ if k[0] == '_':
+ del service[k]
+
+ if forgive_handle and service['handle'] is None:
+ del service['handle']
+
+ if not service['error']:
+ del service['error']
+
+ return service
+
+
+def parse_xml_record(node, forgive_handle, raise_bad_record):
+ service = parse_xml_record_inner(node, forgive_handle)
+
+ if service and 'error' in service and raise_bad_record:
+ raise HDPRecordException("Error in record: %s" % \
+ service['error'])
+
+ return service
+
+
+def remove_text_nodes(node):
+ text_nodes = []
+
+ for child in node.childNodes:
+ if child.nodeType == child.TEXT_NODE:
+ # mark for deletion
+ text_nodes.append(child)
+ else:
+ remove_text_nodes(child)
+
+ for child in text_nodes:
+ child.parentNode.removeChild(child)
+
+
+def parse_xml(xmlstring, forgive_handle=False, filter_xml_exception=True,
+ raise_bad_record=True):
+ try:
+ doc = xml.dom.minidom.parseString(xmlstring)
+ except:
+ if filter_xml_exception:
+ raise HDPRecordException("Malformed XML")
+ else:
+ raise
+
+ remove_text_nodes(doc)
+
+ services = []
+
+ for record in doc.getElementsByTagName('record'):
+ service = parse_xml_record(record, forgive_handle,
+ raise_bad_record)
+ if service:
+ services.append(service)
+
+ return services
--
1.7.0.4
^ permalink raw reply related
* [PATCH 2/9] Adds Python module for HDP record parsing/generation
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
In-Reply-To: <1273592303-18234-1-git-send-email-epx@signove.com>
This patch adds the HDP record generation part, from a
easy-to-use dictionary to record in XML format.
---
test/hdp/hdp_record.py | 193 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 193 insertions(+), 0 deletions(-)
create mode 100644 test/hdp/hdp_record.py
diff --git a/test/hdp/hdp_record.py b/test/hdp/hdp_record.py
new file mode 100644
index 0000000..d4d72d6
--- /dev/null
+++ b/test/hdp/hdp_record.py
@@ -0,0 +1,193 @@
+#!/usr/bin/env python
+
+# This module is a prototype implementation of HDP profile
+# conversion from a simple dictionary to/from the XML format
+# that BlueZ understands.
+
+import xml.dom.minidom
+import string
+
+
+class HDPRecordException(Exception):
+ pass
+
+
+def myuint(value):
+ if type(value) is not int:
+ try:
+ value = string.atoi(value, 0)
+ except (TypeError, ValueError):
+ raise HDPRecordException("Invalid uint: %s", value)
+ if value < 0:
+ raise HDPRecordException("Value must be non-negative: %d" \
+ % value)
+ return value
+
+
+def add_attr(doc, parent, attr, data):
+ if attr is not None:
+ child = doc.createElement("attribute")
+ child.setAttribute("id", "0x%04x" % myuint(attr))
+ parent.appendChild(child)
+ parent = child
+
+ if type(data) is list:
+ child = doc.createElement("sequence")
+ for item in data:
+ add_attr(doc, child, None, item)
+ else:
+ element_type, value = data
+ if element_type == 'uint8':
+ value = "0x%02x" % myuint(value)
+ elif element_type == 'uint16':
+ value = "0x%04x" % myuint(value)
+ elif element_type == 'uint32':
+ value = "0x%08x" % myuint(value)
+ elif element_type == 'uuid' and type(value) is int:
+ value = "0x%04x" % value
+ child = doc.createElement(element_type)
+ child.setAttribute("value", value)
+
+ parent.appendChild(child)
+
+
+def gen_xml(service):
+ if not service['features']:
+ raise HDPRecordException("No HDP features")
+
+ cpsm = service['mcap_control_psm']
+ dpsm = service['mcap_data_psm']
+
+ if cpsm < 0x1001 or cpsm > 0xffff:
+ raise HDPRecordException("Control PSM invalid")
+ if dpsm < 0x1001 or dpsm > 0xffff or dpsm == cpsm:
+ raise HDPRecordException("Data PSM invalid")
+
+ doc = xml.dom.minidom.Document()
+ record = doc.createElement("record")
+ doc.appendChild(record)
+
+ roles = {}
+ mcap_supported_procedures = 0x00
+
+ for mcap_procedures in service.get('mcap_procedures', []):
+ if mcap_procedures == 'csp':
+ mcap_supported_procedures |= 0x08
+ elif mcap_procedures == 'csp_master':
+ mcap_supported_procedures |= 0x10
+ elif mcap_procedures == 'reconnect_init':
+ mcap_supported_procedures |= 0x02
+ elif mcap_procedures == 'reconnect_accept':
+ mcap_supported_procedures |= 0x04
+ else:
+ raise HDPRecordException("Unknown MCAP procedure: %s" \
+ % mcap_procedures)
+
+ data_spec = service.get('data_spec', 0x01) # 0x01 == IEEE 10267
+
+ hdp_features = []
+ mdeps = {}
+ data_types = {}
+
+ for feature in service['features']:
+ mdep_id = feature['mdep_id']
+ data_type = feature['data_type']
+ description = feature.get('description', None)
+ s_role = feature['role']
+
+ if s_role == 'source':
+ roles[0x1401] = True
+ role = 0x00
+ elif s_role == 'sink':
+ roles[0x1402] = True
+ role = 0x01
+ else:
+ raise HDPRecordException("Unknown role: %s" \
+ % feature['role'])
+
+ if role != mdeps.get(mdep_id, role):
+ raise HDPRecordException("Reusing MDEP ID %d " \
+ "for different role" % mdep_id)
+ mdeps[mdep_id] = role
+
+ if data_type in data_types:
+ if role in data_types[data_type]:
+ raise HDPRecordException("Redundant role/type" \
+ " tuple: (%s, %d)" % \
+ (s_role, data_type))
+ data_types[data_type].append(role)
+ else:
+ data_types[data_type] = [ role ]
+
+ feature_record = [ \
+ ('uint8', mdep_id),
+ ('uint16', data_type),
+ ('uint8', role),
+ ]
+ if description:
+ feature_record.append(('text', description))
+
+ hdp_features.append(feature_record)
+
+ if "handle" in service:
+ add_attr(doc, record, 0x0000, ('uint32', service['handle']))
+
+ roles_sequence = [('uuid', k) for k in roles.keys()]
+ add_attr(doc, record, 0x0001, roles_sequence)
+
+ add_attr(doc, record, 0x0004, # protocol descriptor list
+ [
+ [
+ ('uuid', 0x0100), # L2CAP
+ ('uint16', cpsm), # control channel
+ ], [
+ ('uuid', 0x001e), # MCAP control channel
+ ('uint16', 0x0100), # version
+ ],
+ ])
+
+ add_attr(doc, record, 0x0006, # language/encoding
+ [
+ ('uint16', 0x656e), # 'en' (ISO 639 lang. code)
+ ('uint16', 0x006a), # UTF-8 (IANA MIBE code)
+ ('uint16', 0x0100), # Natural language ID
+ ])
+
+ add_attr(doc, record, 0x0009,
+ [
+ [
+ ('uuid', 0x1400), # HDP
+ ('uint16', 0x0100), # HDP version
+ ],
+ ])
+
+ add_attr(doc, record, 0x000d, # additional protocols
+ [
+ [
+ [
+ ('uuid', 0x0100), # L2CAP
+ ('uint16', dpsm), # data channel
+ ], [
+ ('uuid', 0x001f), # MCAP data channel
+ ],
+ ],
+ ])
+
+ name = service.get('name', "")
+ if name:
+ add_attr(doc, record, 0x0100, ('text', name))
+
+ description = service.get('description', "")
+ if description:
+ add_attr(doc, record, 0x0101, ('text', description))
+
+ provider = service.get('provider', "")
+ if provider:
+ add_attr(doc, record, 0x0102, ('text', provider))
+
+ add_attr(doc, record, 0x0200, hdp_features) # HDP supported features
+
+ add_attr(doc, record, 0x0301, ('uint8', data_spec))
+ add_attr(doc, record, 0x0302, ('uint8', mcap_supported_procedures))
+
+ return doc.toprettyxml(encoding="UTF-8")
--
1.7.0.4
^ permalink raw reply related
* [PATCH 1/9] Adds XML record samples from Nonin Oximeter
From: Elvis Pfützenreuter @ 2010-05-11 15:38 UTC (permalink / raw)
To: linux-bluetooth; +Cc: epx
The XML record is slightly edited to be diff'able against
Python minidom prettyPrint()'s output.
---
test/hdp/record_sample1.raw | 45 +++++++++++++++++++++++++++
test/hdp/record_sample1.xml | 72 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 117 insertions(+), 0 deletions(-)
create mode 100644 test/hdp/record_sample1.raw
create mode 100644 test/hdp/record_sample1.xml
diff --git a/test/hdp/record_sample1.raw b/test/hdp/record_sample1.raw
new file mode 100644
index 0000000..2721f64
--- /dev/null
+++ b/test/hdp/record_sample1.raw
@@ -0,0 +1,45 @@
+Sequence
+ Attribute 0x0000 - ServiceRecordHandle
+ UINT32 0x0001002e
+ Attribute 0x0001 - ServiceClassIDList
+ Sequence
+ UUID16 0x1401 - HDPSource
+ Attribute 0x0004 - ProtocolDescriptorList
+ Sequence
+ Sequence
+ UUID16 0x0100 - L2CAP
+ UINT16 0x1001
+ Sequence
+ UUID16 0x001e
+ UINT16 0x0100
+ Attribute 0x0006 - LanguageBaseAttributeIDList
+ Sequence
+ UINT16 0x656e
+ UINT16 0x006a
+ UINT16 0x0100
+ Attribute 0x0009 - BluetoothProfileDescriptorList
+ Sequence
+ Sequence
+ UUID16 0x1400 - HDP
+ UINT16 0x0100
+ Attribute 0x000d - AdditionalProtocolDescriptorLists
+ Sequence
+ Sequence
+ Sequence
+ UUID16 0x0100 - L2CAP
+ UINT16 0x1003
+ Sequence
+ UUID16 0x001f
+ Attribute 0x0100
+ String Nonin Oximeter
+ Attribute 0x0200
+ Sequence
+ Sequence
+ UINT8 0x01
+ UINT16 0x1004
+ UINT8 0x00
+ String Nonin Oximeter
+ Attribute 0x0301
+ UINT8 0x01
+ Attribute 0x0302
+ UINT8 0x18
diff --git a/test/hdp/record_sample1.xml b/test/hdp/record_sample1.xml
new file mode 100644
index 0000000..946f717
--- /dev/null
+++ b/test/hdp/record_sample1.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Sample record obtained from Nonin Oximeter -->
+
+<record>
+ <attribute id="0x0000">
+ <uint32 value="0x00010030"/>
+ </attribute>
+ <attribute id="0x0001">
+ <sequence>
+ <uuid value="0x1401"/>
+ </sequence>
+ </attribute>
+ <attribute id="0x0004">
+ <sequence>
+ <sequence>
+ <uuid value="0x0100"/>
+ <uint16 value="0x1001"/>
+ </sequence>
+ <sequence>
+ <uuid value="0x001e"/>
+ <uint16 value="0x0100"/>
+ </sequence>
+ </sequence>
+ </attribute>
+ <attribute id="0x0006">
+ <sequence>
+ <uint16 value="0x656e"/>
+ <uint16 value="0x006a"/>
+ <uint16 value="0x0100"/>
+ </sequence>
+ </attribute>
+ <attribute id="0x0009">
+ <sequence>
+ <sequence>
+ <uuid value="0x1400"/>
+ <uint16 value="0x0100"/>
+ </sequence>
+ </sequence>
+ </attribute>
+ <attribute id="0x000d">
+ <sequence>
+ <sequence>
+ <sequence>
+ <uuid value="0x0100"/>
+ <uint16 value="0x1003"/>
+ </sequence>
+ <sequence>
+ <uuid value="0x001f"/>
+ </sequence>
+ </sequence>
+ </sequence>
+ </attribute>
+ <attribute id="0x0100">
+ <text value="Nonin Oximeter"/>
+ </attribute>
+ <attribute id="0x0200">
+ <sequence>
+ <sequence>
+ <uint8 value="0x01"/>
+ <uint16 value="0x1004"/>
+ <uint8 value="0x00"/>
+ <text value="Nonin Oximeter"/>
+ </sequence>
+ </sequence>
+ </attribute>
+ <attribute id="0x0301">
+ <uint8 value="0x01"/>
+ </attribute>
+ <attribute id="0x0302">
+ <uint8 value="0x18"/>
+ </attribute>
+</record>
--
1.7.0.4
^ permalink raw reply related
* Re: [bugreport]
From: Iain Hibbert @ 2010-05-11 14:47 UTC (permalink / raw)
To: Serhiy Kachaniuk; +Cc: linux-bluetooth
In-Reply-To: <u2z793f89501005060256g3eb32a09ncff16e8e454bdcc@mail.gmail.com>
Serhiy, from your message on the ubuntu bug report
> Maybe the reason is that this dongle doesn't support reading/writing of
> 'Default Link Policy Settings' ?
and this command was introduced in spec version 1.2, and your device
reports
> HCI Ver: 1.1 (0x1) HCI Rev: 0x3 LMP Ver: 1.1 (0x1) LMP Subver: 0x800
so yes, that is likely the problem as it is too old.
That bluez has no handling for the possibility that the command may not be
supported is possibly a bug or possibly an indication that older devices
are no longer to be supported, I can't really say which.
regards,
iain
^ permalink raw reply
* Re: magicmouse: claimed by neither input, hiddev nor hidraw
From: Justin P. Mattock @ 2010-05-11 14:26 UTC (permalink / raw)
To: Jiri Kosina; +Cc: linux-bluetooth, Linux Kernel Mailing List
In-Reply-To: <alpine.LNX.2.00.1005102351220.28092@pobox.suse.cz>
o.k... I went and tested individual commits
and right now if I git revert 28918c
on the latest head, I don't receive
the "claimed by neither input, hiddev nor hidraw"
message, and I get all functionality back with the mouse.
(without having hiddraw enabled in the kernel.
Justin P. Mattock
^ permalink raw reply
* Re: [bugreport]
From: Vinicius Gomes @ 2010-05-11 13:52 UTC (permalink / raw)
To: Serhiy Kachaniuk; +Cc: linux-bluetooth
In-Reply-To: <AANLkTinOD1ODHqYSWTLv5ho2ZYU-bfiJ1xYkWNlbgaZQ@mail.gmail.com>
Hi Serhiy,
On Tue, May 11, 2010 at 10:06 AM, Serhiy Kachaniuk <serzholino@gmail.com> wrote:
> 2010/5/6 Serhiy Kachaniuk <serzholino@gmail.com>:
>> Hi!
>>
>> My USB bluetooth adapter stopped working with new versions of bluez.
>> Latest version which works is 4.32.
>> I initially reported bug for ubuntu package in launchpad here
>> https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/453885 , but then
>> i tried also opensuse livecd and problem remained there too, so looks
>> like it's not ubuntu specific.
>> jhe at #bluez-devel suggested to me to collect hcidump output on
>> bluetoothd startup, and then write to this mailinglist. I attached
>> suggested hcidumps for bluez versions 4.64 and 4.32, and looks like
>> 4.64 stops initialization process after it cannot read parameter
>> 'Default Link Policy Settings' from device.
>>
>> Can you please take a look at this bug?
>> Thanks in advance.
>>
>
> Can someone turn this e-mail thread into bluez bugreport? If i
> understand correctly, only developers can create bluez bugreports in
> trac? Also, if you need any more debugging info, i would be glad to
> provide you with any.
This (the mailing list) is the correct place for bug reports.
Someone here in the office has an ancient Bluetooth 1.2 dongle, which
shows a similar problem. Now that you discovered that it is probably a
regression and I can reproduce it, I will try to debug it.
And it looks like that the hcidump logs that you attached in your
first email got lost somehow.
Anyway, I think that the only information missing is your kernel version.
Cheers,
--
Vinicius
^ permalink raw reply
* Re: Using wireless.kernel.org for Bluetooth documentation as well ?
From: John W. Linville @ 2010-05-11 13:37 UTC (permalink / raw)
To: Luis R. Rodriguez
Cc: linux-wireless, linux-bluetooth, linux-kernel, Marcel Holtmann,
Johannes Berg
In-Reply-To: <k2z43e72e891005101245se32796ex47a17683ab05d8b5@mail.gmail.com>
On Mon, May 10, 2010 at 12:45:41PM -0700, Luis R. Rodriguez wrote:
> Today we have a wealth of information on 802.11 Linux wireless on
> http://wireless.kernel.org and I think the wiki model has worked
> wonders for us. I wanted to see what you thought of using the same
> site as a source of documentation for Bluetooth as well. We already
> have *some* Bluetooth documentation [1], and we could just point to
> the BlueZ pages for other docs but it doesn't seem to use a wiki and
> those google ads do blind my right eye.
>
> Thoughts?
>
> [1] http://wireless.kernel.org/en/users/Documentation/Bluetooth-coexistence
> [2] http://www.bluez.org
Personally, I have no objection.
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Re: [bugreport]
From: Serhiy Kachaniuk @ 2010-05-11 13:06 UTC (permalink / raw)
To: linux-bluetooth
In-Reply-To: <p2q793f89501005052222u4393c8dfhb55bea4454c454b9@mail.gmail.com>
2010/5/6 Serhiy Kachaniuk <serzholino@gmail.com>:
> Hi!
>
> My USB bluetooth adapter stopped working with new versions of bluez.
> Latest version which works is 4.32.
> I initially reported bug for ubuntu package in launchpad here
> https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/453885 , but then
> i tried also opensuse livecd and problem remained there too, so looks
> like it's not ubuntu specific.
> jhe at #bluez-devel suggested to me to collect hcidump output on
> bluetoothd startup, and then write to this mailinglist. I attached
> suggested hcidumps for bluez versions 4.64 and 4.32, and looks like
> 4.64 stops initialization process after it cannot read parameter
> 'Default Link Policy Settings' from device.
>
> Can you please take a look at this bug?
> Thanks in advance.
>
Can someone turn this e-mail thread into bluez bugreport? If i
understand correctly, only developers can create bluez bugreports in
trac? Also, if you need any more debugging info, i would be glad to
provide you with any.
^ permalink raw reply
* Re: [PATCH] Initial support for MCAP
From: Santiago Carot-Nemesio @ 2010-05-11 10:01 UTC (permalink / raw)
To: Santiago Carot-Nemesio; +Cc: linux-bluetooth
In-Reply-To: <1273571962-3558-1-git-send-email-sancane@gmail.com>
Hi,
The patch also fix typo errors.
Best regards
^ permalink raw reply
* [PATCH] Initial support for MCAP
From: Santiago Carot-Nemesio @ 2010-05-11 9:59 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Santiago Carot-Nemesio
In-Reply-To: <1273486527-7855-1-git-send-email-sancane@gmail.com>
---
Makefile.am | 13 ++++-
acinclude.m4 | 6 ++
mcap/mcap.c | 55 ++++++++++++++++
mcap/mcap.h | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++
mcap/mcap_internal.h | 118 +++++++++++++++++++++++++++++++++
mcap/mcap_lib.h | 163 ++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 530 insertions(+), 1 deletions(-)
create mode 100644 mcap/mcap.c
create mode 100644 mcap/mcap.h
create mode 100644 mcap/mcap_internal.h
create mode 100644 mcap/mcap_lib.h
diff --git a/Makefile.am b/Makefile.am
index f991121..7d8f4b5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -101,6 +101,7 @@ gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/object.c gdbus/watch.c
builtin_modules =
builtin_sources =
builtin_nodist =
+mcap_sources =
if PNATPLUGIN
builtin_modules += pnat
@@ -168,6 +169,12 @@ builtin_modules += service
builtin_sources += plugins/service.c
endif
+if MCAP
+mcap_sources += mcap/mcap_lib.h \
+ mcap/mcap_internal.h \
+ mcap/mcap.h mcap/mcap.c
+endif
+
builtin_modules += hciops
builtin_sources += plugins/hciops.c
@@ -196,7 +203,8 @@ src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \
src/adapter.h src/adapter.c \
src/device.h src/device.c \
src/dbus-common.c src/dbus-common.h \
- src/dbus-hci.h src/dbus-hci.c
+ src/dbus-hci.h src/dbus-hci.c \
+ $(mcap_sources)
src_bluetoothd_LDADD = lib/libbluetooth.la @GLIB_LIBS@ @DBUS_LIBS@ \
@CAPNG_LIBS@ -ldl
src_bluetoothd_LDFLAGS = -Wl,--export-dynamic \
@@ -318,6 +326,9 @@ AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @CAPNG_CFLAGS@ \
INCLUDES = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \
-I$(srcdir)/audio -I$(srcdir)/sbc -I$(srcdir)/gdbus
+if MCAP
+INCLUDES += -I$(builddir)/mcap
+endif
pkgconfigdir = $(libdir)/pkgconfig
diff --git a/acinclude.m4 b/acinclude.m4
index f7bb047..b512cfb 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -167,6 +167,7 @@ AC_DEFUN([AC_ARG_BLUEZ], [
serial_enable=yes
network_enable=yes
service_enable=yes
+ mcap_enable=no
pnat_enable=no
tracer_enable=no
tools_enable=yes
@@ -215,6 +216,10 @@ AC_DEFUN([AC_ARG_BLUEZ], [
service_enable=${enableval}
])
+ AC_ARG_ENABLE(mcap, AC_HELP_STRING([--enable-mcap], [enable mcap support]), [
+ mcap_enable=${enableval}
+ ])
+
AC_ARG_ENABLE(pnat, AC_HELP_STRING([--enable-pnat], [enable pnat plugin]), [
pnat_enable=${enableval}
])
@@ -325,6 +330,7 @@ AC_DEFUN([AC_ARG_BLUEZ], [
AM_CONDITIONAL(SERIALPLUGIN, test "${serial_enable}" = "yes")
AM_CONDITIONAL(NETWORKPLUGIN, test "${network_enable}" = "yes")
AM_CONDITIONAL(SERVICEPLUGIN, test "${service_enable}" = "yes")
+ AM_CONDITIONAL(MCAP, test "${mcap_enable}" = "yes")
AM_CONDITIONAL(ECHOPLUGIN, test "no" = "yes")
AM_CONDITIONAL(PNATPLUGIN, test "${pnat_enable}" = "yes")
AM_CONDITIONAL(TRACER, test "${tracer_enable}" = "yes")
diff --git a/mcap/mcap.c b/mcap/mcap.c
new file mode 100644
index 0000000..df8dd50
--- /dev/null
+++ b/mcap/mcap.c
@@ -0,0 +1,55 @@
+/*
+ *
+ * MCAP for BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ *
+ * Authors:
+ * Santiago Carot-Nemesio <sancane at gmail.com>
+ * Jose Antonio Santos-Cadenas <santoscadenas at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include "logging.h"
+#include "btio.h"
+#include "error.h"
+
+#include <netinet/in.h>
+
+#include "mcap.h"
+#include "mcap_lib.h"
+#include "mcap_internal.h"
+
+struct mcap_session *mcap_create_session(struct btd_adapter *btd_adapter,
+ BtIOSecLevel sec,
+ uint16_t ccpsm,
+ uint16_t dcpsm,
+ GError **gerr,
+ mcap_mcl_event_cb mcl_connected,
+ mcap_mcl_event_cb mcl_reconnected,
+ mcap_mcl_event_cb mcl_disconnected,
+ mcap_mcl_event_cb mcl_uncached,
+ gpointer user_data)
+{
+ /* TODO: Create MCAP Session */
+ return NULL;
+}
+
+void mcap_close_session(struct mcap_session *ms)
+{
+ /* Free MCAP session */
+}
diff --git a/mcap/mcap.h b/mcap/mcap.h
new file mode 100644
index 0000000..598e6ce
--- /dev/null
+++ b/mcap/mcap.h
@@ -0,0 +1,176 @@
+/*
+ *
+ * MCAP for BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ *
+ * Authors:
+ * Santiago Carot-Nemesio <sancane at gmail.com>
+ * Jose Antonio Santos-Cadenas <santoscadenas at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __MCAP_H
+#define __MCAP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define MCAP_VERSION 0x0100 /* current version 01.00 */
+
+/* bytes to get MCAP Supported Procedures */
+#define MCAP_SUP_PROC 0x06
+
+/* maximum transmission unit for channels */
+#define MCAP_CC_MTU 48
+#define MCAP_DC_MTU L2CAP_DEFAULT_MTU
+
+
+/* MCAP Standard Op Codes */
+#define MCAP_ERROR_RSP 0x00
+#define MCAP_MD_CREATE_MDL_REQ 0x01
+#define MCAP_MD_CREATE_MDL_RSP 0x02
+#define MCAP_MD_RECONNECT_MDL_REQ 0x03
+#define MCAP_MD_RECONNECT_MDL_RSP 0x04
+#define MCAP_MD_ABORT_MDL_REQ 0x05
+#define MCAP_MD_ABORT_MDL_RSP 0x06
+#define MCAP_MD_DELETE_MDL_REQ 0x07
+#define MCAP_MD_DELETE_MDL_RSP 0x08
+/*RESERVED 0x09*/
+/*RESERVED 0x10*/
+
+/* MCAP Clock Sync Op Codes */
+#define MCAP_MD_SYNC_CAP_REQ 0x11
+#define MCAP_MD_SYNC_CAP_RSP 0x12
+#define MCAP_MD_SYNC_SET_REQ 0x13
+#define MCAP_MD_SYNC_SET_RSP 0x14
+#define MCAP_MD_SYNC_INFO_IND 0x15
+/*RESERVED 0x16*/
+/*RESERVED 0x17*/
+/*RESERVED 0x18*/
+/*RESERVED 0x19*/
+/*RESERVED 0x20*/
+
+/* MCAP Response codes */
+#define MCAP_SUCCESS 0x00
+#define MCAP_INVALID_OP_CODE 0x01
+#define MCAP_INVALID_PARAM_VALUE 0x02
+#define MCAP_INVALID_MDEP 0x03
+#define MCAP_MDEP_BUSY 0x04
+#define MCAP_INVALID_MDL 0x05
+#define MCAP_MDL_BUSY 0x06
+#define MCAP_INVALID_OPERATION 0x07
+#define MCAP_RESOURCE_UNAVAILABLE 0x08
+#define MCAP_UNESPECIFIED_ERROR 0x09
+#define MCAP_REQUEST_NOT_SUPPORTED 0x0A
+#define MCAP_CONFIGURATION_REJECTED 0x0B
+/*RESERVED 0x0C-0xFF*/
+
+
+/* MDL IDs */
+#define MCAP_MDLID_RESERVED 0x0000
+#define MCAP_MDLID_INITIAL 0x0001
+#define MCAP_MDLID_FINAL 0xFEFF
+/*RESERVED 0xFF00-0xFFFE*/
+#define MCAP_ALL_MDLIDS 0xFFFF
+
+/* MDEP IDs */
+#define MCAP_MDEPID_INITIAL 0x00
+#define MCAP_MDEPID_FINAL 0x7F
+/*RESERVED 0x80-0xFF*/
+
+
+/*
+ * MCAP Request Packet Format
+ */
+
+typedef struct {
+ uint8_t op;
+ uint16_t mdl;
+ uint8_t mdep;
+ uint8_t conf;
+} __attribute__ ((packed)) mcap_md_create_mdl_req;
+
+typedef struct {
+ uint8_t op;
+ uint16_t mdl;
+} __attribute__ ((packed)) mcap_md_req;
+
+
+/*
+ * MCAP Response Packet Format
+ */
+
+typedef struct {
+ uint8_t op;
+ uint8_t rc;
+ uint16_t mdl;
+} __attribute__ ((packed)) mcap4B_rsp;
+
+typedef struct {
+ uint8_t op;
+ uint8_t rc;
+ uint16_t mdl;
+ uint8_t param;
+} __attribute__ ((packed)) mcap5B_rsp;
+
+
+/*
+ * MCAP Clock Synchronization Protocol
+ */
+typedef struct {
+ uint8_t op;
+ uint16_t timest;
+} __attribute__ ((packed)) mcap_md_sync_cap_req;
+
+typedef struct {
+ uint8_t op;
+ uint8_t rc;
+ uint8_t btclock;
+ uint16_t sltime;
+ uint16_t timestnr;
+ uint16_t timestna;
+} __attribute__ ((packed)) mcap_md_sync_cap_rsp;
+
+typedef struct {
+ uint8_t op;
+ uint8_t timestui;
+ uint32_t btclock;
+ uint64_t timestst;
+} __attribute__ ((packed)) mcap_md_sync_set_req;
+
+typedef struct {
+ uint8_t op;
+ uint8_t rc;
+ uint32_t btclock;
+ uint64_t timestst;
+ uint16_t timestsa;
+} __attribute__ ((packed)) mcap_md_sync_set_rsp;
+
+typedef struct {
+ uint8_t op;
+ uint32_t btclock;
+ uint64_t timestst;
+ uint16_t timestsa;
+} __attribute__ ((packed)) mcap_md_sync_info_ind;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MCAP_H */
diff --git a/mcap/mcap_internal.h b/mcap/mcap_internal.h
new file mode 100644
index 0000000..2ebad29
--- /dev/null
+++ b/mcap/mcap_internal.h
@@ -0,0 +1,118 @@
+/*
+ *
+ * MCAP for BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ *
+ * Authors:
+ * Santiago Carot-Nemesio <sancane at gmail.com>
+ * Jose Antonio Santos-Cadenas <santoscadenas at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __MCAP_INTERNAL_H
+#define __MCAP_INTERNAL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+ MCL_CONNECTED,
+ MCL_PENDING,
+ MCL_ACTIVE,
+ MCL_IDLE
+} MCLState;
+
+typedef enum {
+ MCL_ACCEPTOR,
+ MCL_INITIATOR,
+} MCLRole;
+
+typedef enum {
+ MCL_AVAILABLE,
+ MCL_WAITING_RSP,
+} MCAPCtrl;
+
+typedef enum {
+ MDL_WAITING,
+ MDL_CONNECTED,
+ MDL_DELETING,
+ MDL_CLOSED,
+} MDLState;
+
+struct mcap_mdl_cb {
+ mcap_mdl_event_cb mdl_connected; /* Remote device has created a MDL */
+ mcap_mdl_event_cb mdl_closed; /* Remote device has closed a MDL */
+ mcap_mdl_event_cb mdl_deleted; /* Remote device requested deleting a MDL */
+ mcap_mdl_event_cb mdl_aborted; /* Remote device aborted the mdl creation */
+ mcap_remote_mdl_conn_req_cb mdl_conn_req; /* Remote deive requested creating a MDL */
+ mcap_remote_mdl_reconn_req_cb mdl_reconn_req; /* Remote device requested reconnecting a MDL */
+ gpointer user_data; /* User data */
+};
+
+struct mcap_session {
+ bdaddr_t src; /* Source address */
+ GIOChannel *ccio; /* Control Channel IO */
+ GIOChannel *dcio; /* Data Channel IO */
+ GSList *mcls; /* MCAP session list */
+ GSList *cached; /* List with all cached MCLs (MAX_CACHED macro) */
+ BtIOSecLevel sec; /* Security level */
+ mcap_mcl_event_cb mcl_connected_cb; /* New MCL connected */
+ mcap_mcl_event_cb mcl_reconnected_cb; /* Old MCL has been reconnected */
+ mcap_mcl_event_cb mcl_disconnected_cb; /* MCL disconnected */
+ mcap_mcl_event_cb mcl_uncached_cb; /* MCL has been removed from MCAP cache */
+ gpointer user_data; /* Data to be provided in callbacks */
+};
+
+struct mcap_mcl {
+ struct mcap_session *ms; /* MCAP session where this MCL belongs */
+ bdaddr_t addr; /* Device address */
+ GIOChannel *cc; /* MCAP Control Channel IO */
+ guint wid; /* MCL Watcher id */
+ GSList *mdls; /* List of Data Channels shorted by mdlid */
+ MCLState state; /* Current MCL State */
+ MCLRole role; /* Initiator or acceptor of this MCL */
+ MCAPCtrl req; /* Request control flag */
+ void *priv_data; /* Temporal data to manage in responses */
+ struct mcap_mdl_cb *cb; /* MDL callbacks */
+ guint tid; /* Timer id for waiting for a response */
+ uint8_t *lcmd; /* Last command sent */
+ guint ref; /* References counter */
+ uint8_t ctrl; /* MCL control flag */
+};
+
+#define MCAP_CTRL_CACHED 0x01 /* MCL is cached */
+#define MCAP_CTRL_STD_OP 0x02 /* Support for standard op codes */
+#define MCAP_CTRL_SYNC_OP 0x04 /* Support for synchronization commands */
+#define MCAP_CTRL_CONN 0x08 /* MCL is in connecting process */
+#define MCAP_CTRL_FREE 0x10 /* MCL is marked as releasable */
+#define MCAP_CTRL_NOCACHE 0x20 /* MCL is marked as not cacheable */
+
+struct mcap_mdl {
+ struct mcap_mcl *mcl; /* MCL where this MDL belongs */
+ GIOChannel *dc; /* MCAP Data Channel IO */
+ guint wid; /* MDL Watcher id */
+ uint16_t mdlid; /* MDL id */
+ uint8_t mdep_id; /* MCAP Data End Point */
+ MDLState state; /* MDL state */
+};
+
+int mcap_send_data(int sock, const uint8_t *buf, uint32_t size);
+void proc_sync_cmd(struct mcap_mcl *mcl, uint8_t *cmd, uint32_t len);
+
+#endif /* __MCAP_INTERNAL_H */
diff --git a/mcap/mcap_lib.h b/mcap/mcap_lib.h
new file mode 100644
index 0000000..6fed1be
--- /dev/null
+++ b/mcap/mcap_lib.h
@@ -0,0 +1,163 @@
+/*
+ *
+ * MCAP for BlueZ - Bluetooth protocol stack for Linux
+ *
+ * Copyright (C) 2010 GSyC/LibreSoft, Universidad Rey Juan Carlos.
+ *
+ * Authors:
+ * Santiago Carot-Nemesio <sancane at gmail.com>
+ * Jose Antonio Santos-Cadenas <santoscadenas at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __MCAP_LIB_H
+#define __MCAP_LIB_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "adapter.h"
+
+#include <bluetooth/l2cap.h>
+#include "btio.h"
+
+typedef enum {
+/* MCAP Error Response Codes */
+ MCAP_ERROR_INVALID_OP_CODE = 1,
+ MCAP_ERROR_INVALID_PARAM_VALUE,
+ MCAP_ERROR_INVALID_MDEP,
+ MCAP_ERROR_MDEP_BUSY,
+ MCAP_ERROR_INVALID_MDL,
+ MCAP_ERROR_MDL_BUSY,
+ MCAP_ERROR_INVALID_OPERATION,
+ MCAP_ERROR_RESOURCE_UNAVAILABLE,
+ MCAP_ERROR_UNESPECIFIED_ERROR,
+ MCAP_ERROR_REQUEST_NOT_SUPPORTED,
+ MCAP_ERROR_CONFIGURATION_REJECTED,
+/* MCAP Internal Errors */
+ MCAP_ERROR_INVALID_ARGS,
+ MCAP_ERROR_ALREADY_EXISTS,
+ MCAP_ERROR_FAILED,
+} McapError;
+
+typedef enum {
+ MCAP_MDL_CB_INVALID,
+ MCAP_MDL_CB_CONNECTED, /* mcap_mdl_event_cb */
+ MCAP_MDL_CB_CLOSED, /* mcap_mdl_event_cb */
+ MCAP_MDL_CB_DELETED, /* mcap_mdl_event_cb */
+ MCAP_MDL_CB_ABORTED, /* mcap_mdl_event_cb */
+ MCAP_MDL_CB_REMOTE_CONN_REQ, /* mcap_remote_mdl_conn_req_cb */
+ MCAP_MDL_CB_REMOTE_RECONN_REQ, /* mcap_remote_mdl_reconn_req_cb */
+} McapMclCb;
+
+struct mcap_session;
+struct mcap_mcl;
+struct mcap_mdl;
+
+/************ Callbacks ************/
+
+/* mdl callbacks */
+
+typedef void (* mcap_mdl_event_cb) (struct mcap_mdl *mdl, gpointer data);
+typedef void (* mcap_mdl_operation_conf_cb) (struct mcap_mdl *mdl, uint8_t conf,
+ GError *err, gpointer data);
+typedef void (* mcap_mdl_operation_cb) (struct mcap_mdl *mdl, GError *err,
+ gpointer data);
+typedef void (* mcap_mdl_del_cb) (GError *err, gpointer data);
+
+/* Next function should return an MCAP appropiate response code */
+typedef uint8_t (* mcap_remote_mdl_conn_req_cb) (struct mcap_mcl *mcl,
+ uint8_t mdepid, uint16_t mdlid,
+ uint8_t *conf, gpointer data);
+typedef uint8_t (* mcap_remote_mdl_reconn_req_cb) (struct mcap_mdl *mdl,
+ gpointer data);
+
+/* mcl callbacks */
+
+typedef void (* mcap_mcl_event_cb) (struct mcap_mcl *mcl, gpointer data);
+typedef void (* mcap_mcl_connect_cb) (struct mcap_mcl *mcl, GError *err,
+ gpointer data);
+
+/************ Operations ************/
+
+/* Mdl operations*/
+
+void mcap_req_mdl_creation(struct mcap_mcl *mcl,
+ uint8_t mdepid,
+ uint8_t conf,
+ GError **err,
+ mcap_mdl_operation_conf_cb connect_cb,
+ gpointer user_data);
+void mcap_req_mdl_reconnect(struct mcap_mdl *mdl, GError **err,
+ mcap_mdl_operation_cb reconnect_cb,
+ gpointer user_data);
+void mcap_req_mdl_delete_all(struct mcap_mcl *mcl, GError **err,
+ mcap_mdl_del_cb delete_cb, gpointer user_data);
+void mcap_req_mdl_deletion(struct mcap_mdl *mdl, GError **err,
+ mcap_mdl_del_cb delete_cb, gpointer user_data);
+void mcap_mdl_connect(struct mcap_mdl *mdl,
+ BtIOType BtType,
+ uint16_t dcpsm,
+ GError **err,
+ mcap_mdl_operation_cb connect_cb,
+ gpointer user_data);
+void mcap_mdl_abort(struct mcap_mdl *mdl, GError **err,
+ mcap_mdl_del_cb abort_cb, gpointer user_data);
+
+int mcap_mdl_get_fd(struct mcap_mdl *mdl);
+uint16_t mcap_mdl_get_mdlid(struct mcap_mdl *mdl);
+
+/* Mcl operations*/
+
+void mcap_create_mcl(struct mcap_session *ms,
+ const bdaddr_t *addr,
+ uint16_t ccpsm,
+ GError **err,
+ mcap_mcl_connect_cb connect_cb,
+ gpointer user_data);
+void mcap_close_mcl(struct mcap_mcl *mcl, gboolean cache);
+void mcap_mcl_set_cb(struct mcap_mcl *mcl, GError **gerr,
+ gpointer user_data, McapMclCb cb1, ...);
+bdaddr_t mcap_mcl_get_addr(struct mcap_mcl *mcl);
+
+struct mcap_mcl *mcap_mcl_ref(struct mcap_mcl *mcl);
+void mcap_mcl_unref(struct mcap_mcl *mcl);
+
+/* MCAP main operations */
+
+struct mcap_session *mcap_create_session(struct btd_adapter *btd_adapter,
+ BtIOSecLevel sec, uint16_t ccpsm,
+ uint16_t dcpsm,
+ GError **gerr,
+ mcap_mcl_event_cb mcl_connected,
+ mcap_mcl_event_cb mcl_reconnected,
+ mcap_mcl_event_cb mcl_disconnected,
+ mcap_mcl_event_cb mcl_uncached,
+ gpointer user_data);
+
+void mcap_close_session(struct mcap_session *ms);
+
+uint16_t mcap_get_ctrl_psm(struct mcap_session *ms, GError **err);
+uint16_t mcap_get_data_psm(struct mcap_session *ms, GError **err);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MCAP_LIB_H */
+
--
1.6.3.3
^ permalink raw reply related
* Re: [PATCH 26/26] Fix typo errors
From: Johan Hedberg @ 2010-05-11 9:19 UTC (permalink / raw)
To: Santiago Carot-Nemesio; +Cc: linux-bluetooth
In-Reply-To: <1273566123-2198-1-git-send-email-sancane@gmail.com>
Hi,
On Tue, May 11, 2010, Santiago Carot-Nemesio wrote:
> mcap/mcap_internal.h | 28 ++++++++++++++--------------
> 1 files changed, 14 insertions(+), 14 deletions(-)
If possible, it'd be better if you just fix this in the original patch
that introduced the typos instead of adding yet another patch
(especially since nothing has been pushed upstream yet).
Johan
^ permalink raw reply
* [PATCH v2] ath3k: add support for new firmware
From: suraj @ 2010-05-11 9:04 UTC (permalink / raw)
To: linux-bluetooth
Cc: dwmw2, Luis.Rodriguez, Jothikumar.Mothilal, marcel, vkandukuri
In-Reply-To: <1272356922.1393.14.camel@atheros013-desktop>
New firmware has few critical bug fixes and shared antenna support.
Signed-off-by: Vikram Kandukuri <vkandukuri@atheros.com>
---
drivers/bluetooth/ath3k.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
index 128cae4..7bda549 100644
--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -122,9 +122,12 @@ static int ath3k_probe(struct usb_interface *intf,
data->udev = udev;
- if (request_firmware(&firmware, "ath3k-1.fw", &udev->dev) < 0) {
- kfree(data);
- return -EIO;
+ if (request_firmware(&firmware, "ath3k-2.fw", &udev->dev) < 0) {
+ BT_DBG("requesting old firmware");
+ if (request_firmware(&firmware, "ath3k-1.fw", &udev->dev) < 0) {
+ kfree(data);
+ return -EIO;
+ }
}
size = max_t(uint, firmware->size, 4096);
--
1.7.0
^ permalink raw reply related
* Re: [PATCH v5] Add support for the Atheros AR300x Bluetooth Chip
From: suraj @ 2010-05-11 8:29 UTC (permalink / raw)
To: linux-bluetooth; +Cc: marcel, Luis.Rodriguez, Jothikumar.Mothilal, gfpadovan
In-Reply-To: <1273062798.19162.6.camel@atheros013-desktop>
Hi marcel,
On Wed, 2010-05-05 at 18:03 +0530, suraj wrote:
> Hi Marcel,
>
> Can you take a look at the patch? Your review has been pending for
> sometime.
>
> On Mon, 2010-04-26 at 16:30 +0530, suraj wrote:
> > Hi marcel,
> >
> > On Thu, 2010-04-22 at 14:40 +0530, suraj wrote:
> > > This implements the Atheros Bluetooth serial protocol to
> > > support the AR300x Bluetooth chipsets.
> > > The serial protocol implements enhanced power management
> > > features for the AR300x chipsets.
> > >
> > > Reviewed-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> > > Reviewed-by: Gustavo F. Padovan <gustavo@padovan.org>
> > > Signed-off-by: Suraj <suraj@atheros.com>
> > >
> > > ---
> > > drivers/bluetooth/Kconfig | 14 ++
> > > drivers/bluetooth/Makefile | 1 +
> > > drivers/bluetooth/hci_ath.c | 378 +++++++++++++++++++++++++++++++++++++++++
> > > drivers/bluetooth/hci_ldisc.c | 6 +
> > > drivers/bluetooth/hci_uart.h | 8 +-
> > > 5 files changed, 406 insertions(+), 1 deletions(-)
> > > create mode 100755 drivers/bluetooth/hci_ath.c
> > >
> > Can you verify the patch let me know your comments?
> >
> > Regards
> > Suraj
> >
>
>
your review has been pending for a long time. Please let me know what
should be done regarding this.
Regards
Suraj
^ permalink raw reply
* [PATCH 26/26] Fix typo errors
From: Santiago Carot-Nemesio @ 2010-05-11 8:22 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Santiago Carot-Nemesio
In-Reply-To: <1273486527-7855-25-git-send-email-sancane@gmail.com>
---
mcap/mcap_internal.h | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/mcap/mcap_internal.h b/mcap/mcap_internal.h
index 1e9f521..2ebad29 100644
--- a/mcap/mcap_internal.h
+++ b/mcap/mcap_internal.h
@@ -56,13 +56,13 @@ typedef enum {
} MDLState;
struct mcap_mdl_cb {
- mcap_mdl_event_cb mdl_connected; /* Remote device has created a mdl */
- mcap_mdl_event_cb mdl_closed; /* Remote device has closed a mdl */
- mcap_mdl_event_cb mdl_deleted; /* Remote device deletion of a mdl */
+ mcap_mdl_event_cb mdl_connected; /* Remote device has created a MDL */
+ mcap_mdl_event_cb mdl_closed; /* Remote device has closed a MDL */
+ mcap_mdl_event_cb mdl_deleted; /* Remote device requested deleting a MDL */
mcap_mdl_event_cb mdl_aborted; /* Remote device aborted the mdl creation */
- mcap_remote_mdl_conn_req_cb mdl_conn_req; /* Remote deive requested a creation of a mdl */
- mcap_remote_mdl_reconn_req_cb mdl_reconn_req; /* Remote device requested reconnection of a mdl */
- gpointer user_data; /* user data */
+ mcap_remote_mdl_conn_req_cb mdl_conn_req; /* Remote deive requested creating a MDL */
+ mcap_remote_mdl_reconn_req_cb mdl_reconn_req; /* Remote device requested reconnecting a MDL */
+ gpointer user_data; /* User data */
};
struct mcap_session {
@@ -76,21 +76,21 @@ struct mcap_session {
mcap_mcl_event_cb mcl_reconnected_cb; /* Old MCL has been reconnected */
mcap_mcl_event_cb mcl_disconnected_cb; /* MCL disconnected */
mcap_mcl_event_cb mcl_uncached_cb; /* MCL has been removed from MCAP cache */
- gpointer user_data; /* Data to be provided in a callbacks */
+ gpointer user_data; /* Data to be provided in callbacks */
};
struct mcap_mcl {
struct mcap_session *ms; /* MCAP session where this MCL belongs */
- bdaddr_t addr; /* device address */
+ bdaddr_t addr; /* Device address */
GIOChannel *cc; /* MCAP Control Channel IO */
guint wid; /* MCL Watcher id */
GSList *mdls; /* List of Data Channels shorted by mdlid */
- MCLState state; /* current MCL State */
- MCLRole role; /* initiator or aceptor of this MCL*/
+ MCLState state; /* Current MCL State */
+ MCLRole role; /* Initiator or acceptor of this MCL */
MCAPCtrl req; /* Request control flag */
- void *priv_data; /* Temporal data to manage responses */
+ void *priv_data; /* Temporal data to manage in responses */
struct mcap_mdl_cb *cb; /* MDL callbacks */
- guint tid; /* Timer id for waiting for a resposne */
+ guint tid; /* Timer id for waiting for a response */
uint8_t *lcmd; /* Last command sent */
guint ref; /* References counter */
uint8_t ctrl; /* MCL control flag */
@@ -99,12 +99,12 @@ struct mcap_mcl {
#define MCAP_CTRL_CACHED 0x01 /* MCL is cached */
#define MCAP_CTRL_STD_OP 0x02 /* Support for standard op codes */
#define MCAP_CTRL_SYNC_OP 0x04 /* Support for synchronization commands */
-#define MCAP_CTRL_CONN 0x08 /* MCL is in connectcting process */
+#define MCAP_CTRL_CONN 0x08 /* MCL is in connecting process */
#define MCAP_CTRL_FREE 0x10 /* MCL is marked as releasable */
#define MCAP_CTRL_NOCACHE 0x20 /* MCL is marked as not cacheable */
struct mcap_mdl {
- struct mcap_mcl *mcl; /* MCAP mcl for this mdl */
+ struct mcap_mcl *mcl; /* MCL where this MDL belongs */
GIOChannel *dc; /* MCAP Data Channel IO */
guint wid; /* MDL Watcher id */
uint16_t mdlid; /* MDL id */
--
1.6.3.3
^ permalink raw reply related
* Re: magicmouse: claimed by neither input, hiddev nor hidraw
From: Justin P. Mattock @ 2010-05-11 8:01 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Michael Poole, linux-bluetooth, Linux Kernel Mailing List
In-Reply-To: <alpine.LNX.2.00.1005110946520.28092@pobox.suse.cz>
here is dmesg with the:
[ 27.435674] magicmouse 0005:05AC:030D.0004: claimed by neither input,
hiddev nor hidraw
[ 27.435686] magicmouse 0005:05AC:030D.0004: magicmouse hw start failed
[ 0.000000] Linux version 2.6.33-00095-g28918c2 (name@name) (gcc
version 4.4.2 (GCC) ) #19 SMP Tue May 11 00:49:25 PDT 2010
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz root=/dev/sda3 ro
debug audit=1 selinux=1 vga=790 enforcing=0
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
[ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000003f0ea000 (usable)
[ 0.000000] BIOS-e820: 000000003f0ea000 - 000000003f2eb000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003f2eb000 - 000000003febe000 (ACPI data)
[ 0.000000] BIOS-e820: 000000003febe000 - 000000003feef000 (ACPI NVS)
[ 0.000000] BIOS-e820: 000000003feef000 - 000000003ff00000 (ACPI data)
[ 0.000000] BIOS-e820: 000000003ff00000 - 0000000040000000 (reserved)
[ 0.000000] BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed14000 - 00000000fed1a000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed1c000 - 00000000fed20000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[ 0.000000] BIOS-e820: 00000000ffe00000 - 0000000100000000 (reserved)
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.4 present.
[ 0.000000] No AGP bridge found
[ 0.000000] last_pfn = 0x3f0ea max_arch_pfn = 0x400000000
[ 0.000000] MTRR default type: uncachable
[ 0.000000] MTRR fixed ranges enabled:
[ 0.000000] 00000-9FFFF write-back
[ 0.000000] A0000-BFFFF uncachable
[ 0.000000] C0000-CFFFF write-protect
[ 0.000000] D0000-DFFFF uncachable
[ 0.000000] E0000-FFFFF write-protect
[ 0.000000] MTRR variable ranges enabled:
[ 0.000000] 0 base 0FFE00000 mask FFFE00000 write-protect
[ 0.000000] 1 base 000000000 mask FC0000000 write-back
[ 0.000000] 2 base 03FF00000 mask FFFF00000 uncachable
[ 0.000000] 3 disabled
[ 0.000000] 4 disabled
[ 0.000000] 5 disabled
[ 0.000000] 6 disabled
[ 0.000000] 7 disabled
[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new
0x7010600070106
[ 0.000000] initial memory mapped : 0 - 20000000
[ 0.000000] init_memory_mapping: 0000000000000000-000000003f0ea000
[ 0.000000] 0000000000 - 003f000000 page 2M
[ 0.000000] 003f000000 - 003f0ea000 page 4k
[ 0.000000] kernel direct mapping tables up to 3f0ea000 @ 8000-b000
[ 0.000000] ACPI: RSDP 00000000000fe020 00024 (v02 APPLE )
[ 0.000000] ACPI: XSDT 000000003fefd1c0 00074 (v01 APPLE Apple00
000000A5 01000013)
[ 0.000000] ACPI: FACP 000000003fefb000 000F4 (v03 APPLE Apple00
000000A5 Loki 0000005F)
[ 0.000000] ACPI: DSDT 000000003fef0000 048D1 (v01 APPLE MacBookP
00020002 INTL 20050309)
[ 0.000000] ACPI: FACS 000000003fec0000 00040
[ 0.000000] ACPI: HPET 000000003fefa000 00038 (v01 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: APIC 000000003fef9000 00068 (v01 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: MCFG 000000003fef8000 0003C (v01 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: ASF! 000000003fef7000 000A0 (v32 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: SBST 000000003fef6000 00030 (v01 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: ECDT 000000003fef5000 00053 (v01 APPLE Apple00
00000001 Loki 0000005F)
[ 0.000000] ACPI: SSDT 000000003feef000 004DC (v01 APPLE CpuPm
00003000 INTL 20050309)
[ 0.000000] ACPI: SSDT 000000003febd000 0064F (v01 SataRe SataPri
00001000 INTL 20050309)
[ 0.000000] ACPI: SSDT 000000003febc000 0069C (v01 SataRe SataSec
00001000 INTL 20050309)
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] (7 early reservations) ==> bootmem [0000000000 - 003f0ea000]
[ 0.000000] #0 [0000000000 - 0000001000] BIOS data page ==>
[0000000000 - 0000001000]
[ 0.000000] #1 [0001000000 - 00017a36c8] TEXT DATA BSS ==>
[0001000000 - 00017a36c8]
[ 0.000000] #2 [000009fc00 - 0000100000] BIOS reserved ==>
[000009fc00 - 0000100000]
[ 0.000000] #3 [00017a4000 - 00017a4271] BRK ==>
[00017a4000 - 00017a4271]
[ 0.000000] #4 [0000001000 - 0000003000] TRAMPOLINE ==>
[0000001000 - 0000003000]
[ 0.000000] #5 [0000003000 - 0000007000] ACPI WAKEUP ==>
[0000003000 - 0000007000]
[ 0.000000] #6 [0000008000 - 0000009000] PGTABLE ==>
[0000008000 - 0000009000]
[ 0.000000] [ffffea0000000000-ffffea0000dfffff] PMD ->
[ffff880001c00000-ffff8800029fffff] on node 0
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0x00000000 -> 0x00001000
[ 0.000000] DMA32 0x00001000 -> 0x00100000
[ 0.000000] Normal 0x00100000 -> 0x00100000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[2] active PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x0000009f
[ 0.000000] 0: 0x00000100 -> 0x0003f0ea
[ 0.000000] On node 0 totalpages: 258185
[ 0.000000] DMA zone: 56 pages used for memmap
[ 0.000000] DMA zone: 104 pages reserved
[ 0.000000] DMA zone: 3839 pages, LIFO batch:0
[ 0.000000] DMA32 zone: 3476 pages used for memmap
[ 0.000000] DMA32 zone: 250710 pages, LIFO batch:31
[ 0.000000] ACPI: PM-Timer IO Port: 0x408
[ 0.000000] ACPI: Local APIC address 0xfee00000
[ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[ 0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[ 0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[ 0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI
0-23
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[ 0.000000] ACPI: IRQ0 used by override.
[ 0.000000] ACPI: IRQ2 used by override.
[ 0.000000] ACPI: IRQ9 used by override.
[ 0.000000] Using ACPI (MADT) for SMP configuration information
[ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[ 0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[ 0.000000] nr_irqs_gsi: 24
[ 0.000000] PM: Registered nosave memory: 000000000009f000 -
00000000000a0000
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 -
00000000000e0000
[ 0.000000] PM: Registered nosave memory: 00000000000e0000 -
0000000000100000
[ 0.000000] Allocating PCI resources starting at 40000000 (gap:
40000000:b0000000)
[ 0.000000] Booting paravirtualized kernel on bare hardware
[ 0.000000] setup_percpu: NR_CPUS:2 nr_cpumask_bits:2 nr_cpu_ids:2
nr_node_ids:1
[ 0.000000] PERCPU: Embedded 30 pages/cpu @ffff880001800000 s91096
r8192 d23592 u1048576
[ 0.000000] pcpu-alloc: s91096 r8192 d23592 u1048576 alloc=1*2097152
[ 0.000000] pcpu-alloc: [0] 0 1
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 254549
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz
root=/dev/sda3 ro debug audit=1 selinux=1 vga=790 enforcing=0
[ 0.000000] audit: enabled (after initialization)
[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8,
1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288
bytes)
[ 0.000000] Checking aperture...
[ 0.000000] No AGP bridge found
[ 0.000000] Memory: 1007964k/1033128k available (3997k kernel code,
388k absent, 24084k reserved, 2503k data, 504k init)
[ 0.000000] SLUB: Genslabs=13, HWalign=64, Order=0-3, MinObjects=0,
CPUs=2, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:320
[ 0.000000] Extended CMOS year: 2000
[ 0.000000] Console: colour dummy device 80x25
[ 0.000000] console [tty0] enabled
[ 0.000000] hpet clockevent registered
[ 0.000000] Fast TSC calibration failed
[ 0.000000] TSC: Unable to calibrate against PIT
[ 0.000000] TSC: using HPET reference calibration
[ 0.000000] Detected 2161.241 MHz processor.
[ 0.004007] Calibrating delay loop (skipped), value calculated using
timer frequency.. 4322.48 BogoMIPS (lpj=2161241)
[ 0.004080] Security Framework initialized
[ 0.004091] SELinux: Initializing.
[ 0.004123] SELinux: Starting in permissive mode
[ 0.004142] Mount-cache hash table entries: 256
[ 0.005619] CPU: Physical Processor ID: 0
[ 0.005624] CPU: Processor Core ID: 0
[ 0.005630] mce: CPU supports 6 MCE banks
[ 0.005655] CPU0: Thermal monitoring enabled (TM2)
[ 0.005662] using mwait in idle threads.
[ 0.005667] Performance Events: Core2 events, Intel PMU driver.
[ 0.005677] ... version: 2
[ 0.005682] ... bit width: 40
[ 0.005686] ... generic registers: 2
[ 0.005691] ... value mask: 000000ffffffffff
[ 0.005696] ... max period: 000000007fffffff
[ 0.005701] ... fixed-purpose events: 3
[ 0.005706] ... event mask: 0000000700000003
[ 0.006919] ACPI: Core revision 20091214
[ 0.030203] Setting APIC routing to flat
[ 0.030591] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[ 0.040636] CPU0: Intel(R) Core(TM)2 CPU T7400 @ 2.16GHz
stepping 06
[ 0.040999] Booting Node 0, Processors #1 Ok.
[ 0.112042] Brought up 2 CPUs
[ 0.112051] Total of 2 processors activated (8644.79 BogoMIPS).
[ 0.114299] NET: Registered protocol family 16
[ 0.116077] ACPI: bus type pci registered
[ 0.116172] PCI: Using configuration type 1 for base access
[ 0.132295] bio: create slab <bio-0> at 0
[ 0.135069] ACPI: EC: EC description table is found, configuring boot EC
[ 0.143361] ACPI: BIOS _OSI(Linux) query ignored
[ 0.144603] ACPI: Interpreter enabled
[ 0.144611] ACPI: (supports S0 S3 S4 S5)
[ 0.144715] ACPI: Using IOAPIC for interrupt routing
[ 0.178270] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[ 0.180074] ACPI: No dock devices found.
[ 0.183463] ACPI: PCI Root Bridge [PCI0] (0000:00)
[ 0.183584] pci_root PNP0A08:00: ignoring host bridge windows from
ACPI; boot with "pci=use_crs" to use them
[ 0.188651] pci_root PNP0A08:00: host bridge window [io
0x0000-0x0cf7] (ignored)
[ 0.188660] pci_root PNP0A08:00: host bridge window [io
0x0d00-0xffff] (ignored)
[ 0.188669] pci_root PNP0A08:00: host bridge window [mem
0x000a0000-0x000bffff] (ignored)
[ 0.188679] pci_root PNP0A08:00: host bridge window [mem
0x40000000-0xfebfffff] (ignored)
[ 0.188786] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[ 0.188793] pci 0000:00:01.0: PME# disabled
[ 0.188831] pci 0000:00:07.0: reg 10: [mem 0x50404000-0x50404fff]
[ 0.188933] pci 0000:00:1b.0: reg 10: [mem 0x50400000-0x50403fff 64bit]
[ 0.189004] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[ 0.189012] pci 0000:00:1b.0: PME# disabled
[ 0.189118] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[ 0.189127] pci 0000:00:1c.0: PME# disabled
[ 0.189236] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[ 0.189244] pci 0000:00:1c.1: PME# disabled
[ 0.189353] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[ 0.189362] pci 0000:00:1c.2: PME# disabled
[ 0.189437] pci 0000:00:1d.0: reg 20: [io 0x4080-0x409f]
[ 0.189510] pci 0000:00:1d.1: reg 20: [io 0x4060-0x407f]
[ 0.189583] pci 0000:00:1d.2: reg 20: [io 0x4040-0x405f]
[ 0.189664] pci 0000:00:1d.3: reg 20: [io 0x4020-0x403f]
[ 0.189735] pci 0000:00:1d.7: reg 10: [mem 0x50405400-0x504057ff]
[ 0.189803] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[ 0.189812] pci 0000:00:1d.7: PME# disabled
[ 0.189992] pci 0000:00:1f.0: quirk: [io 0x0400-0x047f] claimed by
ICH6 ACPI/GPIO/TCO
[ 0.190004] pci 0000:00:1f.0: quirk: [io 0x0500-0x053f] claimed by
ICH6 GPIO
[ 0.190012] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at
0680 (mask 000f)
[ 0.190022] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 2 PIO at
1640 (mask 000f)
[ 0.190035] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 4 PIO at
0300 (mask 001f)
[ 0.190132] pci 0000:00:1f.1: reg 10: [io 0x40d8-0x40df]
[ 0.190144] pci 0000:00:1f.1: reg 14: [io 0x40ec-0x40ef]
[ 0.190155] pci 0000:00:1f.1: reg 18: [io 0x40d0-0x40d7]
[ 0.190166] pci 0000:00:1f.1: reg 1c: [io 0x40e8-0x40eb]
[ 0.190177] pci 0000:00:1f.1: reg 20: [io 0x40b0-0x40bf]
[ 0.190238] pci 0000:00:1f.2: reg 10: [io 0x40c8-0x40cf]
[ 0.190250] pci 0000:00:1f.2: reg 14: [io 0x40e4-0x40e7]
[ 0.190261] pci 0000:00:1f.2: reg 18: [io 0x40c0-0x40c7]
[ 0.190272] pci 0000:00:1f.2: reg 1c: [io 0x40e0-0x40e3]
[ 0.190283] pci 0000:00:1f.2: reg 20: [io 0x40a0-0x40af]
[ 0.190295] pci 0000:00:1f.2: reg 24: [mem 0x50405000-0x504053ff]
[ 0.190329] pci 0000:00:1f.2: PME# supported from D3hot
[ 0.190337] pci 0000:00:1f.2: PME# disabled
[ 0.190407] pci 0000:00:1f.3: reg 20: [io 0xefa0-0xefbf]
[ 0.190485] pci 0000:01:00.0: reg 10: [mem 0x40000000-0x47ffffff pref]
[ 0.190497] pci 0000:01:00.0: reg 14: [io 0x3000-0x30ff]
[ 0.190509] pci 0000:01:00.0: reg 18: [mem 0x50300000-0x5030ffff]
[ 0.190531] pci 0000:01:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref]
[ 0.190561] pci 0000:01:00.0: supports D1 D2
[ 0.190626] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[ 0.190633] pci 0000:00:01.0: bridge window [io 0x3000-0x3fff]
[ 0.190640] pci 0000:00:01.0: bridge window [mem 0x50300000-0x503fffff]
[ 0.190649] pci 0000:00:01.0: bridge window [mem
0x40000000-0x47ffffff 64bit pref]
[ 0.190723] pci 0000:02:00.0: reg 10: [mem 0x50200000-0x50203fff 64bit]
[ 0.190738] pci 0000:02:00.0: reg 18: [io 0x2000-0x20ff]
[ 0.190777] pci 0000:02:00.0: reg 30: [mem 0xfffe0000-0xffffffff pref]
[ 0.190836] pci 0000:02:00.0: supports D1 D2
[ 0.190841] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[ 0.190851] pci 0000:02:00.0: PME# disabled
[ 0.190918] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[ 0.190926] pci 0000:00:1c.0: bridge window [io 0x2000-0x2fff]
[ 0.190935] pci 0000:00:1c.0: bridge window [mem 0x50200000-0x502fffff]
[ 0.191017] pci 0000:03:00.0: reg 10: [mem 0x50100000-0x5010ffff 64bit]
[ 0.191114] pci 0000:03:00.0: supports D1
[ 0.191119] pci 0000:03:00.0: PME# supported from D0 D1 D3hot
[ 0.191129] pci 0000:03:00.0: PME# disabled
[ 0.191205] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[ 0.191216] pci 0000:00:1c.1: bridge window [mem 0x50100000-0x501fffff]
[ 0.191291] pci 0000:00:1c.2: PCI bridge to [bus 04-0b]
[ 0.191299] pci 0000:00:1c.2: bridge window [io 0x1000-0x1fff]
[ 0.191308] pci 0000:00:1c.2: bridge window [mem 0x4c100000-0x500fffff]
[ 0.191320] pci 0000:00:1c.2: bridge window [mem
0x48000000-0x4bffffff 64bit pref]
[ 0.191385] pci 0000:0c:03.0: reg 10: [mem 0x4c004000-0x4c0047ff]
[ 0.191398] pci 0000:0c:03.0: reg 14: [mem 0x4c000000-0x4c003fff]
[ 0.191466] pci 0000:0c:03.0: supports D1 D2
[ 0.191471] pci 0000:0c:03.0: PME# supported from D0 D1 D2 D3hot
[ 0.191481] pci 0000:0c:03.0: PME# disabled
[ 0.191548] pci 0000:00:1e.0: PCI bridge to [bus 0c-0c] (subtractive
decode)
[ 0.191560] pci 0000:00:1e.0: bridge window [mem 0x4c000000-0x4c0fffff]
[ 0.191599] pci_bus 0000:00: on NUMA node 0
[ 0.191610] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[ 0.192869] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEGP._PRT]
[ 0.193290] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[ 0.193699] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
[ 0.194113] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP03._PRT]
[ 0.194586] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
[ 0.228230] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 7 10 12
14 15) *11
[ 0.228564] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 7 *11 12
14 15)
[ 0.228902] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 7 10 12
14 15) *11
[ 0.229239] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 7 *11 12
14 15)
[ 0.229568] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12
14 15) *0, disabled.
[ 0.229907] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 11 12
14 15) *0, disabled.
[ 0.230249] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 *10 12
14 15)
[ 0.230581] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *11 12 14 15)
[ 0.231100] vgaarb: device added:
PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none
[ 0.231100] vgaarb: loaded
[ 0.232081] SCSI subsystem initialized
[ 0.232081] libata version 3.00 loaded.
[ 0.232110] usbcore: registered new interface driver usbfs
[ 0.232110] usbcore: registered new interface driver hub
[ 0.233021] usbcore: registered new device driver usb
[ 0.233096] PCI: Using ACPI for IRQ routing
[ 0.233096] PCI: pci_cache_line_size set to 64 bytes
[ 0.234251] cfg80211: Calling CRDA to update world regulatory domain
[ 0.235029] NetLabel: Initializing
[ 0.235029] NetLabel: domain hash size = 128
[ 0.235029] NetLabel: protocols = UNLABELED CIPSOv4
[ 0.235071] NetLabel: unlabeled traffic allowed by default
[ 0.235082] HPET: 3 timers in total, 0 timers will be used for
per-cpu timer
[ 0.235093] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[ 0.235101] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[ 0.238007] Switching to clocksource tsc
[ 0.249831] pnp: PnP ACPI init
[ 0.249886] ACPI: bus type pnp registered
[ 0.256306] pnp 00:07: disabling [io 0x1640-0x164f] because it
overlaps 0000:00:1c.2 BAR 7 [io 0x1000-0x1fff]
[ 0.261321] pnp: PnP ACPI: found 9 devices
[ 0.261327] ACPI: ACPI bus type pnp unregistered
[ 0.261347] system 00:01: [mem 0xf0000000-0xf3ffffff] has been reserved
[ 0.261356] system 00:01: [mem 0xfed14000-0xfed17fff] has been reserved
[ 0.261363] system 00:01: [mem 0xfed18000-0xfed18fff] has been reserved
[ 0.261371] system 00:01: [mem 0xfed19000-0xfed19fff] has been reserved
[ 0.261379] system 00:01: [mem 0xfed1c000-0xfed1ffff] has been reserved
[ 0.261387] system 00:01: [mem 0xfed20000-0xfed8ffff] has been reserved
[ 0.261401] system 00:05: [mem 0xfed00000-0xfed003ff] has been reserved
[ 0.261415] system 00:07: [io 0x0680-0x06ef] has been reserved
[ 0.261423] system 00:07: [io 0x0800-0x080f] has been reserved
[ 0.261430] system 00:07: [io 0x0810-0x0817] has been reserved
[ 0.261437] system 00:07: [io 0x0400-0x047f] has been reserved
[ 0.261445] system 00:07: [io 0x0500-0x053f] has been reserved
[ 0.267603] pci 0000:01:00.0: no compatible bridge window for [mem
0xfffe0000-0xffffffff pref]
[ 0.267615] pci 0000:02:00.0: no compatible bridge window for [mem
0xfffe0000-0xffffffff pref]
[ 0.267679] pci 0000:00:1c.0: BAR 9: assigned [mem
0x50500000-0x506fffff pref]
[ 0.267689] pci 0000:00:1c.1: BAR 9: assigned [mem
0x50700000-0x508fffff 64bit pref]
[ 0.267699] pci 0000:00:1c.1: BAR 7: assigned [io 0x5000-0x5fff]
[ 0.267707] pci 0000:01:00.0: BAR 6: assigned [mem
0x50320000-0x5033ffff pref]
[ 0.267716] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[ 0.267722] pci 0000:00:01.0: bridge window [io 0x3000-0x3fff]
[ 0.267730] pci 0000:00:01.0: bridge window [mem 0x50300000-0x503fffff]
[ 0.267738] pci 0000:00:01.0: bridge window [mem
0x40000000-0x47ffffff 64bit pref]
[ 0.267750] pci 0000:02:00.0: BAR 6: assigned [mem
0x50500000-0x5051ffff pref]
[ 0.267759] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[ 0.267766] pci 0000:00:1c.0: bridge window [io 0x2000-0x2fff]
[ 0.267776] pci 0000:00:1c.0: bridge window [mem 0x50200000-0x502fffff]
[ 0.267785] pci 0000:00:1c.0: bridge window [mem
0x50500000-0x506fffff pref]
[ 0.267798] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[ 0.267805] pci 0000:00:1c.1: bridge window [io 0x5000-0x5fff]
[ 0.267815] pci 0000:00:1c.1: bridge window [mem 0x50100000-0x501fffff]
[ 0.267824] pci 0000:00:1c.1: bridge window [mem
0x50700000-0x508fffff 64bit pref]
[ 0.267838] pci 0000:00:1c.2: PCI bridge to [bus 04-0b]
[ 0.267845] pci 0000:00:1c.2: bridge window [io 0x1000-0x1fff]
[ 0.267855] pci 0000:00:1c.2: bridge window [mem 0x4c100000-0x500fffff]
[ 0.267864] pci 0000:00:1c.2: bridge window [mem
0x48000000-0x4bffffff 64bit pref]
[ 0.267878] pci 0000:00:1e.0: PCI bridge to [bus 0c-0c]
[ 0.267883] pci 0000:00:1e.0: bridge window [io disabled]
[ 0.267893] pci 0000:00:1e.0: bridge window [mem 0x4c000000-0x4c0fffff]
[ 0.267901] pci 0000:00:1e.0: bridge window [mem pref disabled]
[ 0.267928] pci 0000:00:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 0.267936] pci 0000:00:01.0: setting latency timer to 64
[ 0.267951] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 0.267960] pci 0000:00:1c.0: setting latency timer to 64
[ 0.267974] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[ 0.267983] pci 0000:00:1c.1: setting latency timer to 64
[ 0.267998] pci 0000:00:1c.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[ 0.268007] pci 0000:00:1c.2: setting latency timer to 64
[ 0.268183] pci 0000:00:1e.0: power state changed by ACPI to D0
[ 0.268194] pci 0000:00:1e.0: setting latency timer to 64
[ 0.268202] pci_bus 0000:00: resource 0 [io 0x0000-0xffff]
[ 0.268208] pci_bus 0000:00: resource 1 [mem
0x00000000-0xffffffffffffffff]
[ 0.268215] pci_bus 0000:01: resource 0 [io 0x3000-0x3fff]
[ 0.268220] pci_bus 0000:01: resource 1 [mem 0x50300000-0x503fffff]
[ 0.268227] pci_bus 0000:01: resource 2 [mem 0x40000000-0x47ffffff
64bit pref]
[ 0.268235] pci_bus 0000:02: resource 0 [io 0x2000-0x2fff]
[ 0.268241] pci_bus 0000:02: resource 1 [mem 0x50200000-0x502fffff]
[ 0.268247] pci_bus 0000:02: resource 2 [mem 0x50500000-0x506fffff pref]
[ 0.268253] pci_bus 0000:03: resource 0 [io 0x5000-0x5fff]
[ 0.268258] pci_bus 0000:03: resource 1 [mem 0x50100000-0x501fffff]
[ 0.268264] pci_bus 0000:03: resource 2 [mem 0x50700000-0x508fffff
64bit pref]
[ 0.268273] pci_bus 0000:04: resource 0 [io 0x1000-0x1fff]
[ 0.268278] pci_bus 0000:04: resource 1 [mem 0x4c100000-0x500fffff]
[ 0.268285] pci_bus 0000:04: resource 2 [mem 0x48000000-0x4bffffff
64bit pref]
[ 0.268293] pci_bus 0000:0c: resource 1 [mem 0x4c000000-0x4c0fffff]
[ 0.268299] pci_bus 0000:0c: resource 3 [io 0x0000-0xffff]
[ 0.268305] pci_bus 0000:0c: resource 4 [mem
0x00000000-0xffffffffffffffff]
[ 0.268344] NET: Registered protocol family 2
[ 0.268447] IP route cache hash table entries: 32768 (order: 6,
262144 bytes)
[ 0.269006] TCP established hash table entries: 131072 (order: 9,
2097152 bytes)
[ 0.270072] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes)
[ 0.271493] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.271502] TCP reno registered
[ 0.271515] UDP hash table entries: 512 (order: 3, 49152 bytes)
[ 0.271555] UDP-Lite hash table entries: 512 (order: 3, 49152 bytes)
[ 0.271820] NET: Registered protocol family 1
[ 0.272046] pci 0000:01:00.0: Boot video device
[ 0.272069] PCI: CLS mismatch (256 != 64), using 64 bytes
[ 0.276213] microcode: CPU0 sig=0x6f6, pf=0x20, revision=0xc7
[ 0.276228] microcode: CPU1 sig=0x6f6, pf=0x20, revision=0xc7
[ 0.276371] microcode: Microcode Update Driver: v2.00
<tigran@aivazian.fsnet.co.uk>, Peter Oruba
[ 0.278331] Initializing RT-Tester: OK
[ 0.278488] audit: initializing netlink socket (enabled)
[ 0.278520] type=2000 audit(1273564311.277:1): initialized
[ 0.289010] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[ 0.312491] ROMFS MTD (C) 2007 Red Hat, Inc.
[ 0.312849] fuse init (API version 7.13)
[ 0.313639] msgmni has been set to 1970
[ 0.314039] SELinux: Registering netfilter hooks
[ 0.315444] alg: No test for stdrng (krng)
[ 0.315473] io scheduler noop registered
[ 0.316055] io scheduler cfq registered (default)
[ 0.317292] vesafb: framebuffer at 0x40000000, mapped to
0xffffc90000100000, using 3072k, total 3072k
[ 0.317302] vesafb: mode is 1024x768x32, linelength=4096, pages=0
[ 0.317308] vesafb: scrolling: redraw
[ 0.317313] vesafb: Truecolor: size=0:8:8:8, shift=0:16:8:0
[ 0.365593] Console: switching to colour frame buffer device 128x48
[ 0.409799] fb0: VESA VGA frame buffer device
[ 0.427032] Linux agpgart interface v0.103
[ 0.430944] loop: module loaded
[ 0.431433] input: Macintosh mouse button emulation as
/devices/virtual/input/input0
[ 0.433482] ata_piix 0000:00:1f.1: version 2.13
[ 0.434018] ata_piix 0000:00:1f.1: power state changed by ACPI to D0
[ 0.434600] ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low)
-> IRQ 18
[ 0.435295] ata_piix 0000:00:1f.1: setting latency timer to 64
[ 0.435933] scsi0 : ata_piix
[ 0.437058] scsi1 : ata_piix
[ 0.439950] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x40b0
irq 14
[ 0.440578] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x40b8
irq 15
[ 0.441243] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low)
-> IRQ 19
[ 0.441974] ata_piix 0000:00:1f.2: MAP [ P0 P2 -- -- ]
[ 0.592917] ata_piix 0000:00:1f.2: setting latency timer to 64
[ 0.593624] scsi2 : ata_piix
[ 0.594249] scsi3 : ata_piix
[ 0.599362] ata3: SATA max UDMA/133 cmd 0x40c8 ctl 0x40e4 bmdma
0x40a0 irq 19
[ 0.606272] ata1.00: ATAPI: MATSHITADVD-R UJ-857D, KCV9, max UDMA/66
[ 0.612186] ata1.00: configured for UDMA/66
[ 0.614239] scsi 0:0:0:0: CD-ROM MATSHITA DVD-R UJ-857D
KCV9 PQ: 0 ANSI: 5
[ 0.618804] sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[ 0.618808] Uniform CD-ROM driver Revision: 3.20
[ 0.619234] sr 0:0:0:0: Attached scsi CD-ROM sr0
[ 0.619570] sr 0:0:0:0: Attached scsi generic sg0 type 5
[ 0.672582] ata4: SATA max UDMA/133 cmd 0x40c0 ctl 0x40e0 bmdma
0x40a8 irq 19
[ 0.683734] usbcore: registered new interface driver usblcd
[ 0.695028] usbcore: registered new interface driver usbled
[ 0.706743] PNP: No PS/2 controller found. Probing ports directly.
[ 0.719281] i8042.c: No controller found.
[ 0.731646] mice: PS/2 mouse device common for all mice
[ 0.744183] Linux video capture interface: v2.00
[ 0.758609] device-mapper: ioctl: 4.16.0-ioctl (2009-11-05)
initialised: dm-devel@redhat.com
[ 0.772251] EDAC MC: Ver: 2.1.0 May 11 2010
[ 0.786504] cpuidle: using governor ladder
[ 0.800663] cpuidle: using governor menu
[ 0.819254] usbcore: registered new interface driver hiddev
[ 0.845104] usbcore: registered new interface driver usbhid
[ 0.860799] usbhid: USB HID core driver
[ 0.876015] oprofile: using NMI interrupt.
[ 0.891376] ata3.01: ATA-8: FUJITSU MHW2120BH, 00810013, max UDMA/100
[ 0.891695] IPVS: Registered protocols (TCP, AH, ESP)
[ 0.891924] IPVS: Connection hash table configured (size=4096,
memory=64Kbytes)
[ 0.891971] IPVS: ipvs loaded.
[ 0.892225] Initializing XFRM netlink socket
[ 0.892244] NET: Registered protocol family 17
[ 0.892301] NET: Registered protocol family 15
[ 0.892303] lib80211: common routines for IEEE802.11 drivers
[ 0.892306] lib80211_crypt: registered algorithm 'NULL'
[ 0.892821] No TPM chip found, activating TPM-bypass!
[ 1.047840] ata3.01: 234441648 sectors, multi 16: LBA48 NCQ (depth 0/32)
[ 1.067656] ata3.01: configured for UDMA/100
[ 1.083567] scsi 2:0:1:0: Direct-Access ATA FUJITSU MHW2120B
0081 PQ: 0 ANSI: 5
[ 1.100377] sd 2:0:1:0: [sda] 234441648 512-byte logical blocks: (120
GB/111 GiB)
[ 1.100545] sd 2:0:1:0: Attached scsi generic sg1 type 0
[ 1.133413] sd 2:0:1:0: [sda] Write Protect is off
[ 1.149624] sd 2:0:1:0: [sda] Mode Sense: 00 3a 00 00
[ 1.165896] sd 2:0:1:0: [sda] Write cache: enabled, read cache:
enabled, doesn't support DPO or FUA
[ 1.182967] sda: sda1 sda2 sda3 sda4
[ 1.270559] sd 2:0:1:0: [sda] Attached SCSI disk
[ 1.344159] EXT4-fs (sda3): mounted filesystem with ordered data mode
[ 1.361097] VFS: Mounted root (ext4 filesystem) readonly on device 8:3.
[ 1.378046] Freeing unused kernel memory: 504k freed
[ 1.926899] SELinux: 8192 avtab hash slots, 175799 rules.
[ 2.095133] SELinux: 8192 avtab hash slots, 175799 rules.
[ 2.473851] SELinux: 7 users, 14 roles, 3026 types, 119 bools, 1
sens, 256 cats
[ 2.490458] SELinux: 77 classes, 175799 rules
[ 2.517920] SELinux: Completing initialization.
[ 2.534250] SELinux: Setting up existing superblocks.
[ 2.550371] SELinux: initialized (dev sda3, type ext4), uses xattr
[ 2.567134] SELinux: initialized (dev securityfs, type securityfs),
uses genfs_contexts
[ 2.583746] SELinux: initialized (dev selinuxfs, type selinuxfs),
uses genfs_contexts
[ 2.600372] SELinux: initialized (dev mqueue, type mqueue), uses
transition SIDs
[ 2.616955] SELinux: initialized (dev hugetlbfs, type hugetlbfs),
uses transition SIDs
[ 2.633622] SELinux: initialized (dev devpts, type devpts), uses
transition SIDs
[ 2.649964] SELinux: initialized (dev inotifyfs, type inotifyfs),
uses genfs_contexts
[ 2.666100] SELinux: initialized (dev anon_inodefs, type
anon_inodefs), uses genfs_contexts
[ 2.682442] SELinux: initialized (dev pipefs, type pipefs), uses task
SIDs
[ 2.698997] SELinux: initialized (dev debugfs, type debugfs), uses
genfs_contexts
[ 2.716410] SELinux: initialized (dev sockfs, type sockfs), uses task
SIDs
[ 2.733275] SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
[ 2.750141] SELinux: initialized (dev proc, type proc), uses
genfs_contexts
[ 2.767070] SELinux: initialized (dev bdev, type bdev), uses
genfs_contexts
[ 2.783638] SELinux: initialized (dev rootfs, type rootfs), uses
genfs_contexts
[ 2.800155] SELinux: initialized (dev sysfs, type sysfs), uses
genfs_contexts
[ 2.837370] type=1403 audit(1273564313.837:2): policy loaded
auid=4294967295 ses=4294967295
[ 3.689816] usbcore: registered new interface driver uvcvideo
[ 3.707461] USB Video Class driver (v0.1.0)
[ 3.732724] applesmc: Apple MacBook Pro detected:
[ 3.751037] applesmc: - Model with accelerometer
[ 3.769847] applesmc: - Model with light sensors and backlight
[ 3.788595] applesmc: - Model with 12 temperature sensors
[ 3.807926] applesmc: device has already been initialized (0xe0, 0x00).
[ 3.807928] applesmc: device successfully initialized.
[ 3.826909] applesmc: 2 fans found.
[ 3.846517] input: applesmc as
/devices/platform/applesmc.768/input/input1
[ 3.865125] Registered led device: smc::kbd_backlight
[ 3.883846] applesmc: driver successfully loaded.
[ 3.914201] usbcore: registered new interface driver appletouch
[ 3.953843] ACPI: SSDT 000000003feb8c10 002AE (v01 APPLE Cpu0Ist
00003000 INTL 20050309)
[ 3.974371] ACPI: SSDT 000000003feb8910 002A0 (v01 APPLE Cpu0Cst
00003001 INTL 20050309)
[ 3.994867] Monitor-Mwait will be used to enter C-1 state
[ 3.994913] Monitor-Mwait will be used to enter C-2 state
[ 3.994957] Monitor-Mwait will be used to enter C-3 state
[ 3.994968] Marking TSC unstable due to TSC halts in idle
[ 4.014243] Switching to clocksource hpet
[ 4.016958] ACPI: SSDT 000000003feb8f10 00087 (v01 APPLE Cpu1Ist
00003000 INTL 20050309)
[ 4.018244] ACPI: SSDT 000000003feb7f10 00085 (v01 APPLE Cpu1Cst
00003000 INTL 20050309)
[ 4.130576] Bluetooth: Core ver 2.15
[ 4.156847] NET: Registered protocol family 31
[ 4.176676] Bluetooth: HCI device and connection manager initialized
[ 4.196874] Bluetooth: HCI socket layer initialized
[ 4.221076] Bluetooth: L2CAP ver 2.14
[ 4.240644] Bluetooth: L2CAP socket layer initialized
[ 4.270139] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 4.296119] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 4.316286] usbcore: registered new interface driver btusb
[ 4.357507] Bluetooth: RFCOMM TTY layer initialized
[ 4.383453] Bluetooth: RFCOMM socket layer initialized
[ 4.403365] Bluetooth: RFCOMM ver 1.11
[ 4.429141] Bluetooth: HCI UART driver ver 2.2
[ 4.448753] Bluetooth: HCI H4 protocol initialized
[ 4.474685] Bluetooth: HCI BCSP protocol initialized
[ 4.511455] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 4.531880] ehci_hcd 0000:00:1d.7: PCI INT A -> GSI 23 (level, low)
-> IRQ 23
[ 4.552618] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[ 4.552622] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[ 4.573402] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned
bus number 1
[ 4.594424] ehci_hcd 0000:00:1d.7: using broken periodic workaround
[ 4.615250] ehci_hcd 0000:00:1d.7: debug port 1
[ 4.639400] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[ 4.639454] ehci_hcd 0000:00:1d.7: irq 23, io mem 0x50405400
[ 4.668385] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[ 4.694746] hub 1-0:1.0: USB hub found
[ 4.714313] hub 1-0:1.0: 8 ports detected
[ 4.739510] uhci_hcd: USB Universal Host Controller Interface driver
[ 4.758513] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low)
-> IRQ 23
[ 4.777234] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[ 4.777239] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[ 4.795119] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned
bus number 2
[ 4.813348] uhci_hcd 0000:00:1d.0: irq 23, io base 0x00004080
[ 4.832039] hub 2-0:1.0: USB hub found
[ 4.850074] hub 2-0:1.0: 2 ports detected
[ 4.868308] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low)
-> IRQ 19
[ 4.886493] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[ 4.886497] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[ 4.904293] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned
bus number 3
[ 4.922338] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00004060
[ 4.940626] hub 3-0:1.0: USB hub found
[ 4.957767] hub 3-0:1.0: 2 ports detected
[ 4.974696] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low)
-> IRQ 18
[ 4.991448] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[ 4.991452] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[ 5.008039] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned
bus number 4
[ 5.024827] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00004040
[ 5.042044] hub 4-0:1.0: USB hub found
[ 5.058252] hub 4-0:1.0: 2 ports detected
[ 5.074516] uhci_hcd 0000:00:1d.3: PCI INT D -> GSI 16 (level, low)
-> IRQ 16
[ 5.090776] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[ 5.090780] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[ 5.106837] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned
bus number 5
[ 5.123264] uhci_hcd 0000:00:1d.3: irq 16, io base 0x00004020
[ 5.140224] hub 5-0:1.0: USB hub found
[ 5.156436] hub 5-0:1.0: 2 ports detected
[ 5.190290] usb 1-4: new high speed USB device using ehci_hcd and
address 3
[ 5.194416] ieee1394: raw1394: /dev/raw1394 device initialized
[ 5.314194] alg: No test for cipher_null (cipher_null-generic)
[ 5.358777] alg: No test for ecb(cipher_null) (ecb-cipher_null)
[ 5.376514] alg: No test for digest_null (digest_null-generic)
[ 5.394044] alg: No test for compress_null (compress_null-generic)
[ 5.413146] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[ 5.433446] uvcvideo: UVC non compliance - GET_DEF(PROBE) not
supported. Enabling workaround.
[ 5.577940] SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
[ 5.862068] usb 2-2: new full speed USB device using uhci_hcd and
address 2
[ 5.934341] udev: starting version 147
[ 6.091059] input: Apple Computer Apple Internal Keyboard / Trackpad
as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input2
[ 6.195742] apple 0003:05AC:021A.0001: input: USB HID v1.11 Keyboard
[Apple Computer Apple Internal Keyboard / Trackpad] on
usb-0000:00:1d.0-2/input0
[ 6.197493] i801_smbus 0000:00:1f.3: PCI INT B -> GSI 19 (level, low)
-> IRQ 19
[ 6.197500] ACPI: I/O resource 0000:00:1f.3 [0xefa0-0xefbf] conflicts
with ACPI region SMBI [0xefa0-0xefaf]
[ 6.197502] ACPI: If an ACPI driver is available for this device, you
should use it instead of the native driver
[ 7.017921] input: Lid Switch as
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input3
[ 7.022182] sky2 driver version 1.26
[ 7.022239] sky2 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 7.022255] sky2 0000:02:00.0: setting latency timer to 64
[ 7.022297] sky2 0000:02:00.0: Yukon-2 EC chip revision 2
[ 7.022423] sky2 0000:02:00.0: irq 24 for MSI/MSI-X
[ 7.025070] sky2 eth0: addr 00:17:f2:cb:e3:71
[ 7.027629] ohci1394 0000:0c:03.0: PCI INT A -> GSI 19 (level, low)
-> IRQ 19
[ 7.158316] ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[19]
MMIO=[4c004000-4c0047ff] Max Packet=[4096] IR/IT contexts=[4/8]
[ 7.250215] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low)
-> IRQ 22
[ 7.338005] ACPI: Lid Switch [LID0]
[ 7.341490] HDA Intel 0000:00:1b.0: irq 25 for MSI/MSI-X
[ 7.341548] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 7.357595] appletouch: Geyser mode initialized.
[ 7.357759] input: appletouch as
/devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.1/input/input4
[ 7.363772] input: Apple Computer Apple Internal Keyboard / Trackpad
as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.2/input/input5
[ 7.363878] apple 0003:05AC:021A.0002: input: USB HID v1.11 Device
[Apple Computer Apple Internal Keyboard / Trackpad] on
usb-0000:00:1d.0-2/input2
[ 7.518433] power_supply ADP1: uevent
[ 7.518436] power_supply ADP1: No power supply yet
[ 7.518467] power_supply ADP1: power_supply_changed
[ 7.518472] ACPI: AC Adapter [ADP1] (on-line)
[ 7.544264] power_supply ADP1: power_supply_changed_work
[ 7.544267] power_supply ADP1: power_supply_update_gen_leds 1
[ 7.544286] power_supply ADP1: uevent
[ 7.544288] power_supply ADP1: POWER_SUPPLY_NAME=ADP1
[ 7.544292] power_supply ADP1: Static prop TYPE=Mains
[ 7.544296] power_supply ADP1: 1 dynamic props
[ 7.544299] power_supply ADP1: prop ONLINE=1
[ 7.613988] power_supply BAT0: uevent
[ 7.613994] power_supply BAT0: No power supply yet
[ 7.614137] power_supply BAT0: power_supply_changed
[ 7.614149] power_supply BAT0: power_supply_changed_work
[ 7.640451] power_supply BAT0: power_supply_update_bat_leds 0
[ 7.640925] power_supply BAT0: uevent
[ 7.640930] power_supply BAT0: POWER_SUPPLY_NAME=BAT0
[ 7.640939] power_supply BAT0: Static prop TYPE=Battery
[ 7.641023] power_supply BAT0: 13 dynamic props
[ 7.641037] power_supply BAT0: prop STATUS=Unknown
[ 7.641048] power_supply BAT0: prop PRESENT=1
[ 7.641059] power_supply BAT0: prop TECHNOLOGY=Unknown
[ 7.641068] power_supply BAT0: prop VOLTAGE_MIN_DESIGN=10800000
[ 7.641079] power_supply BAT0: prop VOLTAGE_NOW=12481000
[ 7.641087] power_supply BAT0: prop CURRENT_NOW=0
[ 7.641095] power_supply BAT0: prop POWER_NOW=0
[ 7.641103] power_supply BAT0: prop ENERGY_FULL_DESIGN=55000000
[ 7.641114] power_supply BAT0: prop ENERGY_FULL=47360000
[ 7.641122] power_supply BAT0: prop ENERGY_NOW=46810000
[ 7.641131] power_supply BAT0: prop MODEL_NAME=ASMB012
[ 7.641139] power_supply BAT0: prop MANUFACTURER=SMPN012
[ 7.641147] power_supply BAT0: prop SERIAL_NUMBER=
[ 7.641507] power_supply BAT0: uevent
[ 7.641513] power_supply BAT0: POWER_SUPPLY_NAME=BAT0
[ 7.641522] power_supply BAT0: Static prop TYPE=Battery
[ 7.641530] power_supply BAT0: 13 dynamic props
[ 7.641537] power_supply BAT0: prop STATUS=Unknown
[ 7.641546] power_supply BAT0: prop PRESENT=1
[ 7.641556] power_supply BAT0: prop TECHNOLOGY=Unknown
[ 7.641566] power_supply BAT0: prop VOLTAGE_MIN_DESIGN=10800000
[ 7.641578] power_supply BAT0: prop VOLTAGE_NOW=12481000
[ 7.641587] power_supply BAT0: prop CURRENT_NOW=0
[ 7.641596] power_supply BAT0: prop POWER_NOW=0
[ 7.641606] power_supply BAT0: prop ENERGY_FULL_DESIGN=55000000
[ 7.641616] power_supply BAT0: prop ENERGY_FULL=47360000
[ 7.641626] power_supply BAT0: prop ENERGY_NOW=46810000
[ 7.641636] power_supply BAT0: prop MODEL_NAME=ASMB012
[ 7.641645] power_supply BAT0: prop MANUFACTURER=SMPN012
[ 7.641655] power_supply BAT0: prop SERIAL_NUMBER=
[ 7.663896] ACPI: Battery Slot [BAT0] (battery present)
[ 7.698556] input: Power Button as
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input6
[ 7.735281] ACPI: Power Button [PWRB]
[ 7.748032] usb 4-2: new full speed USB device using uhci_hcd and
address 2
[ 7.772215] ath9k 0000:03:00.0: PCI INT A -> GSI 17 (level, low) ->
IRQ 17
[ 7.772228] ath9k 0000:03:00.0: setting latency timer to 64
[ 7.847212] input: Sleep Button as
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input7
[ 7.896301] ACPI: Sleep Button [SLPB]
[ 7.906715] ath: EEPROM regdomain: 0x64
[ 7.906717] ath: EEPROM indicates we should expect a direct regpair map
[ 7.906721] ath: Country alpha2 being used: 00
[ 7.906722] ath: Regpair used: 0x64
[ 7.931261] input: Power Button as
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
[ 7.935534] hda_codec: STAC922x, Apple subsys_id=106b1e00
[ 7.990526] ACPI: Power Button [PWRF]
[ 7.997530] phy0: Selected rate control algorithm 'ath9k_rate_control'
[ 7.998053] Registered led device: ath9k-phy0::radio
[ 7.998108] Registered led device: ath9k-phy0::assoc
[ 7.998170] Registered led device: ath9k-phy0::tx
[ 7.998225] Registered led device: ath9k-phy0::rx
[ 7.998273] phy0: Atheros AR5418 MAC/BB Rev:2 AR5133 RF Rev:81
mem=0xffffc90000bc0000, irq=17
[ 8.041727] generic-usb 0003:05AC:8240.0003: hiddev0: USB HID v1.11
Device [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.2-2/input0
[ 8.323115] usb 5-1: new full speed USB device using uhci_hcd and
address 2
[ 8.554846] usbhid 5-1:1.0: couldn't find an input interrupt endpoint
[ 8.615707] ieee1394: Host added: ID:BUS[0-00:1023]
GUID[0019e3fffe2ad87e]
[ 8.681077] usb 5-1: usbfs: USBDEVFS_CONTROL failed cmd hid2hci rqt
64 rq 0 len 0 ret -84
[ 8.705141] usb 5-1: USB disconnect, address 2
[ 8.916170] SELinux: initialized (dev tmpfs, type tmpfs), uses
transition SIDs
[ 9.009347] Adding 390616k swap on /dev/sda4. Priority:1 extents:1
across:390616k
[ 9.411314] usb 5-1: new full speed USB device using uhci_hcd and
address 3
[ 10.944574] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 10.981399] nf_conntrack version 0.5.0 (7884 buckets, 31536 max)
[ 10.984245] CONFIG_NF_CT_ACCT is deprecated and will be removed soon.
Please use
[ 10.984248] nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack
module option or
[ 10.984250] sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
[ 13.176234] applesmc: light sensor data length set to 6
[ 16.399290] sky2 eth0: enabling interface
[ 19.924510] type=1100 audit(1273564330.924:3): user pid=2016 uid=0
auid=4294967295 ses=4294967295
subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='op=PAM:authentication acct="name" exe="/bin/login" hostname=?
addr=? terminal=/dev/tty1 res=success'
[ 19.934946] type=1101 audit(1273564330.934:4): user pid=2016 uid=0
auid=4294967295 ses=4294967295
subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='op=PAM:accounting acct="name" exe="/bin/login" hostname=? addr=?
terminal=/dev/tty1 res=success'
[ 20.009616] type=1006 audit(1273564331.009:5): login pid=2016 uid=0
old auid=4294967295 new auid=1000 old ses=4294967295 new ses=1
[ 20.095026] type=2300 audit(1273564331.094:6): user pid=2016 uid=0
auid=1000 ses=1 subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='pam: default-context=name:staff_r:staff_t:s0
selected-context=name:staff_r:staff_t:s0: exe="/bin/login" hostname=?
addr=? terminal=tty1 res=success'
[ 20.178135] type=1105 audit(1273564331.178:7): user pid=2016 uid=0
auid=1000 ses=1 subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='op=PAM:session_open acct="name" exe="/bin/login" hostname=? addr=?
terminal=/dev/tty1 res=success'
[ 20.191074] type=1103 audit(1273564331.190:8): user pid=2016 uid=0
auid=1000 ses=1 subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='op=PAM:setcred acct="name" exe="/bin/login" hostname=? addr=?
terminal=/dev/tty1 res=success'
[ 20.191379] type=1112 audit(1273564331.191:9): user pid=2016 uid=0
auid=1000 ses=1 subj=system_u:system_r:local_login_t:s0-s0:c0.c255
msg='op=login acct="name" exe="/bin/login" hostname=? addr=?
terminal=/dev/tty1 res=success'
[ 22.308976] wlan0: direct probe to AP 00:1e:2a:00:67:f0 (try 1)
[ 22.311733] wlan0: direct probe responded
[ 22.311741] wlan0: authenticate with AP 00:1e:2a:00:67:f0 (try 1)
[ 22.318090] wlan0: authenticated
[ 22.318223] wlan0: associate with AP 00:1e:2a:00:67:f0 (try 1)
[ 22.320730] wlan0: RX AssocResp from 00:1e:2a:00:67:f0 (capab=0x431
status=0 aid=1)
[ 22.320736] wlan0: associated
[ 23.713535] [drm] Initialized drm 1.1.0 20060810
[ 23.849540] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 23.849545] Bluetooth: BNEP filters: protocol multicast
[ 23.928446] Bluetooth: SCO (Voice Link) ver 0.6
[ 23.928449] Bluetooth: SCO socket layer initialized
[ 23.929616] [drm] radeon defaulting to userspace modesetting.
[ 23.930408] pci 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[ 23.930416] pci 0000:01:00.0: setting latency timer to 64
[ 23.930766] [drm] Initialized radeon 1.32.0 20080528 for 0000:01:00.0
on minor 0
[ 24.156429] [drm] Setting GART location based on new memory map
[ 24.158069] [drm] Loading R500 Microcode
[ 24.158077] platform radeon_cp.0: firmware: requesting radeon/R520_cp.bin
[ 24.295079] [drm] Num pipes: 1
[ 24.295092] [drm] writeback test succeeded in 1 usecs
[ 27.435674] magicmouse 0005:05AC:030D.0004: claimed by neither input,
hiddev nor hidraw
[ 27.435686] magicmouse 0005:05AC:030D.0004: magicmouse hw start failed
[ 27.435753] type=1400 audit(1273564338.435:10): avc: denied {
search } for pid=2105 comm="bluetoothd" name="hid" dev=debugfs ino=1056
scontext=system_u:system_r:bluetooth_t:s0-s0:c0.c255
tcontext=system_u:object_r:debugfs_t:s0 tclass=dir
[ 27.435927] type=1300 audit(1273564338.435:10): arch=c000003e
syscall=16 success=yes exit=0 a0=18 a1=400448c8 a2=7fd2680460f0 a3=10
items=0 ppid=1 pid=2105 auid=4294967295 uid=0 gid=0 euid=0 suid=0
fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295
comm="bluetoothd" exe="/usr/sbin/bluetoothd"
subj=system_u:system_r:bluetooth_t:s0-s0:c0.c255 key=(null)
[ 74.910194] usb 2-1: new low speed USB device using uhci_hcd and
address 3
[ 75.094202] input: Mitsumi Electric Apple Optical USB Mouse as
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/input/input9
[ 75.094598] apple 0003:05AC:0304.0005: input: USB HID v1.10 Mouse
[Mitsumi Electric Apple Optical USB Mouse] on usb-0000:00:1d.0-1/input0
I'm a bit tired now.. will test commits
in the morning over here with git revert
Justin P. Mattock
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox