Is this bluetooth configuration sufficient? - linux

I have a Yocto/Open Embedded Linux build for a Gumstix Overo Y COM which I am trying to integrate bluetooth into (using Bluez4).
When I boot my image, the onboard bluetooth module (wilink 8) is unresponsive. Is the configuration I outline below sufficient? If not, what is missing?
The kernel, linux-firmware and bluez4 recipe append are from the meta-gumstix repo [fido] branch (https://github.com/gumstix/meta-gumstix) - one change I have made is the system uses sysvinit instead of systemd.
3.18 kernel with all patches and the defconfig:
meta-gumstix/recipes-kernel/linux/linux-gumstix_3.18.bb
meta-gumstix/recipes-kernel/linux/linux-gumstix-3.18/
Firmware append recipe:
meta-gumstix/recipes-kernel/linux-firmware_git.append
meta-gumstix/recipes-kernel/linux-firmware/linux-firmware/
Bluez4 recipe append:
meta-gumstix/recipes-connectivity/bluez/bluez4_4.101.bbappend
meta-gumstix/recipes-connectivity/bluez/files/
When I boot, this is all hcitool can tell me:
hcitool dev:
parallels#ubuntu:~$ hcitool dev
Devices:
root#overo:~# hcitool scan
Device is not available: No such device
root#overo:~# /usr/sbin/hciattach -n ttyO1 texas
Initialization timed out.
If I start Bluez:
root#overo:~# dmesg | grep -i bluetooth
root#overo:~# bluetoothd -d
root#overo:~# rfcomm bind all
root#overo:~# dmesg | grep -i bluetooth
[ 62.131408] Bluetooth: Core ver 2.19
[ 62.131622] Bluetooth: HCI device and connection manager initialized
[ 62.132080] Bluetooth: HCI socket layer initialized
[ 62.132141] Bluetooth: L2CAP socket layer initialized
[ 62.132263] Bluetooth: SCO socket layer initialized
[ 62.190826] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 62.190856] Bluetooth: BNEP filters: protocol multicast
[ 62.190917] Bluetooth: BNEP socket layer initialized
[ 71.641448] Bluetooth: RFCOMM TTY layer initialized
[ 71.641540] Bluetooth: RFCOMM socket layer initialized
[ 71.641601] Bluetooth: RFCOMM ver 1.11
Then dbus tells me:
root#overo:~# dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames
method return sender=org.freedesktop.DBus -> dest=:1.2 reply_serial=2
array [
string "org.freedesktop.DBus"
string ":1.0"
string "org.bluez"
string ":1.1"
string ":1.2"
]
root#overo:~#
(root#overo:~# cat introspect_bt.py
#!/usr/bin/env python
import dbus
from xml.etree import ElementTree
def rec_intro(bus, service, object_path):
print(object_path)
obj = bus.get_object(service, object_path)
iface = dbus.Interface(obj, 'org.freedesktop.DBus.Introspectable')
xml_string = iface.Introspect()
for child in ElementTree.fromstring(xml_string):
if child.tag == 'node':
if object_path == '/':
object_path = ''
new_path = '/'.join((object_path, child.attrib['name']))
rec_intro(bus, service, new_path)
bus = dbus.SystemBus()
rec_intro(bus, 'org.bluez', '/org/bluez')
root#overo:~#
)
root#overo:~# python introspect_bt.py
/org/bluez
/org/bluez/1309
/org/bluez/1309/any
I would expect bluez to list an adapter such as /org/bluez/1309/hci0. As neither hcitool or bluez seem to be able to locate my bluetooth module, am I missing something in the setup / configuration?
I'm more than happy to edit this to include any extra information that you might find useful.
Thanks!
Edited with further info:
#parthiban-n -
Bringing the adapter up doesn't work
root#overo:~# hciconfig hci0 up
Can't get device info: No such device
& I don't know where the adapter sits (I think this is the root problem - bluez doesn't seem to know anything about the hardware and doesn't have an adapter for it). Is this something that I can configure myself, or should bluez automatically recognise the module?
I used bluez5 initially with the same results, before downgrading to bluez4 (I'm loath to change back as switching bluez version is a complete delete-cache & rebuild, around 6 hours!). I imagine that as hciconfig & hcitool can't communicate with the BT module the problem was unlikely to be with bluez, AFAIK hci**** don't use bluez for their operation.
#aksonlyaks -
The module is not USB connected, it's an onboard combined WIFI/BT module - the Wilink8 WL1831MOD which seems to use a combined driver for WIFI & BT. The WIFI works fine, so I think it's OK from the driver side of things. Here's some output from /proc/modules & dmesg which looks good to me, but I've posted it up in case there is anything obviously missing:
root#overo:~# cat /proc/modules
rfcomm 34100 0 - Live 0xbf2d3000
bnep 10602 2 - Live 0xbf2cc000
bluetooth 300191 8 rfcomm,bnep, Live 0xbf270000
ipv6 367991 16 [permanent], Live 0xbf1ff000
ctr 3441 2 - Live 0xbf1fb000
ccm 7252 2 - Live 0xbf1f6000
ft6206 3532 0 - Live 0xbf1f2000 (O)
arc4 1688 2 - Live 0xbf1ee000
wl18xx 81650 0 - Live 0xbf1d1000
wlcore 177003 1 wl18xx, Live 0xbf198000
mac80211 478003 2 wl18xx,wlcore, Live 0xbf0fb000
cfg80211 408851 3 wl18xx,wlcore,mac80211, Live 0xbf06a000
rfkill 19564 4 bluetooth,cfg80211, Live 0xbf060000
wlcore_sdio 3947 0 - Live 0xbf058000
twl4030_madc 9173 0 - Live 0xbf052000
industrialio 27152 1 twl4030_madc, Live 0xbf045000
fpgaDrv352 13275 2 - Live 0xbf03e000 (O)
usb_f_ecm 8379 1 - Live 0xbf037000
pwm 6671 0 - Live 0xbf031000 (O)
fpgaCfgDrv 5623 0 - Live 0xbf02c000 (O)
g_ether 3375 0 - Live 0xbf027000
usb_f_rndis 21372 2 g_ether, Live 0xbf01c000
u_ether 14284 3 usb_f_ecm,g_ether,usb_f_rndis, Live 0xbf014000
libcomposite 46775 3 usb_f_ecm,g_ether,usb_f_rndis, Live 0xbf000000
I think wl18xx & wlcore are the main driver components for the WL1831MOD.
root#overo:~# dmesg | grep -i wl
[ 2.430389] twl 0-0048: PIH (irq 23) chaining IRQs 339..347
[ 2.430999] twl 0-0048: power (irq 344) chaining IRQs 347..354
[ 2.437225] twl_rtc 48070000.i2c:twl#48:rtc: Power up reset detected.
[ 2.437805] twl_rtc 48070000.i2c:twl#48:rtc: Enabling TWL-RTC
[ 2.442840] twl_rtc 48070000.i2c:twl#48:rtc: rtc core: registered 48070000.i2c:twl#48 as rtc0
[ 2.511505] twl4030_gpio twl4030-gpio: gpio (irq 339) chaining IRQs 355..372
[ 2.513275] gpiochip_add: registered GPIOs 492 to 511 on device: twl4030
[ 2.524597] twl4030_usb 48070000.i2c:twl#48:twl4030-usb: Initialized TWL4030 USB module
[ 2.531158] input: twl4030_pwrbutton as /devices/68000000.ocp/48070000.i2c/i2c-0/0-0048/48070000.i2c:twl#48:pwrbutton/input/input0
[ 2.534881] twl4030_keypad 48070000.i2c:twl#48:keypad: OF: linux,keymap property not defined in /ocp/i2c#48070000/twl#48/keypad
[ 2.547119] twl4030_keypad 48070000.i2c:twl#48:keypad: Failed to build keymap
[ 2.554748] twl4030_keypad: probe of 48070000.i2c:twl#48:keypad failed with error -2
[ 2.760864] twl_rtc 48070000.i2c:twl#48:rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 8.107849] twl4030_madc 48070000.i2c:twl#48:madc: clk disabled, enabling
[ 11.101715] wlcore: wl18xx HW: 183x or 180x, PG 2.2 (ROM 0x11)
[ 11.224395] wlcore: loaded
[ 19.257476] wlcore: PHY firmware version: Rev 8.2.0.0.195
[ 19.375305] wlcore: firmware booted (Rev 8.8.0.0.13)
[ 23.282714] wlan0: authenticate with 30:b5:c2:66:4c:04
[ 23.306152] wlan0: send auth to 30:b5:c2:66:4c:04 (try 1/3)
[ 23.327819] wlan0: authenticated
[ 23.338958] wlan0: associate with 30:b5:c2:66:4c:04 (try 1/3)
[ 23.345367] wlan0: RX AssocResp from 30:b5:c2:66:4c:04 (capab=0x431 status=0 aid=5)
[ 23.390258] wlan0: associated[ 23.624877] wlcore: Association completed.
It looks like the driver comes up and then there are some wlan related messages, nothing specific to bluetooth operation or intialisation that I can see.

Related

Bluetoothctl - no default controller available

On bluetoothctl, anything I do returns with "No default controller available". I have tried bluetoothctl No default controller available but it doesn't help.
hcitool dev shows nothing:
Devices:
output of btmgmt power on:
Set Powered for hci0 failed with status 0x03 (Failed)
hciconfig hci0 up doesn't work either:
Can't init device hci0: cannot assign requested address(99)
I'm using bluez 5.50.
I tried rfkill list, but bluetooth was not blocked. Here is the output of dmesg | grep Blue :
[ 6.417329] usb 1-7: Product: Bluetooth Radio
[ 8.468387] Bluetooth: Core ver 2.22
[ 8.468409] Bluetooth: HCI device and connection manager initialized
[ 8.468413] Bluetooth: HCI socket layer initialized
[ 8.468416] Bluetooth: L2CAP socket layer initialized
[ 8.468423] Bluetooth: SCO socket layer initialized
[ 9.634178] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 9.634180] Bluetooth: BNEP filters: protocol multicast
[ 9.634187] Bluetooth: BNEP socket layer initialized
[ 10.560211] Bluetooth: hci0: command 0x1001 tx timeout
[ 18.656216] Bluetooth: hci0: HCI_OP_READ_LOCAL_VERSION failed (-110)
[ 356.544055] Bluetooth: hci0: command 0x1001 tx timeout
[ 364.735232] Bluetooth: hci0: HCI_OP_READ_LOCAL_VERSION failed (-110)
[ 496.555828] Bluetooth: RFCOMM TTY layer initialized
[ 496.555836] Bluetooth: RFCOMM socket layer initialized
[ 496.555844] Bluetooth: RFCOMM ver 1.11```

Can't create RFCOMM TTY: Address already in use

I listen for a Bluetooth connection in my server doing:
rfcomm listen rfcomm1 1
Then I connect with my Bluetooth client and this message appears:
Connection from XX:XX:XX:XX:XX:XX to /dev/rfcomm1
Press CTRL-C for hangup
This means that everything is alright...
Then I finish my connection by doing Ctrl+C in the server or in the client.
After this, I do again:
rfcomm listen rfcomm1 1
But this time, when I connect the client I receive this message:
Can't create RFCOMM TTY: Address already in use
So I go and I check which connections are open:
rfcomm -a
And I can see that the connection appears, as closed, but should not appear once disconnected...
rfcomm1: XX:XX:XX:XX:XX:XX -> XX:XX:XX:XX:XX:XX channel 1 closed [reuse-dlc release-on-hup ]
The strangest thing is that sometimes, disconnection is successful and I can reconnect without any problem at all.
EDIT
I realized that when the device keeps connected about 10 seconds or more, then the disconnection is successful. But when this time is shorter (fast connection/disconnection), the problem occurs.
And if while the failure is taking place, I do:
dmesg
This is printed:
[11800.001527] Bluetooth: TIOCGSERIAL is not supported
[11800.033063] Bluetooth: TIOCGSERIAL is not supported
[11926.708438] Bluetooth: TIOCGSERIAL is not supported
[11934.918197] Bluetooth: TIOCGSERIAL is not supported
[11934.926194] Bluetooth: TIOCGSERIAL is not supported
[11934.926284] ------------[ cut here ]------------
[11934.926297] WARNING: CPU: 1 PID: 2316 at /build/linux-Pcn0xK/linux-4.4.0/drivers/tty/tty_port.c:143 tty_port_destructor+0x7a/0x80()
[11934.926300] Modules linked in: minidriver(OE) nls_utf8 isofs rfcomm bnep arc4 ath5k snd_hda_codec_realtek uvcvideo ath mac80211 snd_hda_codec_hdmi snd_hda_codec_generic snd_hda_intel videobuf2_vmalloc snd_hda_codec samsung_laptop videobuf2_memops snd_hda_core btusb videobuf2_v4l2 btrtl snd_hwdep videobuf2_core coretemp btbcm cfg80211 snd_pcm v4l2_common btintel snd_seq_midi joydev videodev bluetooth snd_seq_midi_event serio_raw media snd_rawmidi input_leds snd_seq snd_seq_device snd_timer snd soundcore shpchp lpc_ich mac_hid binfmt_misc parport_pc ppdev lp parport autofs4 hid_logitech ff_memless uas usb_storage hid_generic usbhid hid amdkfd amd_iommu_v2 radeon psmouse pata_acpi i2c_algo_bit ttm sky2 drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops video fjes drm [last unloaded: minidriver]
[11934.926401] CPU: 1 PID: 2316 Comm: kworker/1:1 Tainted: G W OE 4.4.0-97-generic #120-Ubuntu
[11934.926404] Hardware name: SAMSUNG ELECTRONICS CO., LTD. R520/R522/R620 /R520/R522/R620 , BIOS 05LL.M025.20090916.Jay 09/16/20
[11934.926410] Workqueue: events release_one_tty
[11934.926413] 0000000000000286 c977cef9c84bca31 ffff88012ea3fd48 ffffffff813fabe3
[11934.926419] 0000000000000000 ffffffff81d386c0 ffff88012ea3fd80 ffffffff810812e2
[11934.926425] ffff8800b5153800 ffff8800b67f6400 ffff8800b67f6400 ffffffffc06dc840
[11934.926430] Call Trace:
[11934.926438] [<ffffffff813fabe3>] dump_stack+0x63/0x90
[11934.926445] [<ffffffff810812e2>] warn_slowpath_common+0x82/0xc0
[11934.926450] [<ffffffff8108142a>] warn_slowpath_null+0x1a/0x20
[11934.926455] [<ffffffff8150357a>] tty_port_destructor+0x7a/0x80
[11934.926460] [<ffffffff81503ce8>] tty_port_put+0x28/0x30
[11934.926471] [<ffffffffc06d5fa8>] rfcomm_tty_cleanup+0x68/0x70 [rfcomm]
[11934.926475] [<ffffffff814f91fb>] release_one_tty+0x3b/0xc0
[11934.926481] [<ffffffff8109a635>] process_one_work+0x165/0x480
[11934.926486] [<ffffffff8109a99b>] worker_thread+0x4b/0x4c0
[11934.926491] [<ffffffff8109a950>] ? process_one_work+0x480/0x480
[11934.926496] [<ffffffff810a0c75>] kthread+0xe5/0x100
[11934.926500] [<ffffffff810a0b90>] ? kthread_create_on_node+0x1e0/0x1e0
[11934.926507] [<ffffffff81843b8f>] ret_from_fork+0x3f/0x70
[11934.926511] [<ffffffff810a0b90>] ? kthread_create_on_node+0x1e0/0x1e0
[11934.926515] ---[ end trace a33c33d1fdbe410d ]---
[11936.001325] Bluetooth: TIOCGSERIAL is not supported
[11936.033194] Bluetooth: TIOCGSERIAL is not supported
When everything works fine (10 or more sec), only these messages are shown:
[11936.001325] Bluetooth: TIOCGSERIAL is not supported
[11936.033194] Bluetooth: TIOCGSERIAL is not supported
[11936.001325] Bluetooth: TIOCGSERIAL is not supported
[11936.033194] Bluetooth: TIOCGSERIAL is not supported
Have you tried using release?
sudo rfcomm release 0
Or alternatively directly adding your device into /etc/bluetooth/rfcomm and then binding it instead and then try the release after you are finished.
sudo rfcomm bind 0
SOLUTION
The problem was a package that comes installed in Ubuntu that was interfering with the normal release of the device.
Just do:
apt-get remove --purge modemmanager
Given that there is no issue if you wait 10 seconds before disconnecting, I think we have a solid lead: The RFCOMM spec (https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=263754) defines 10 seconds as the minimum timeout for data ACKs ("Acknowledgement Timer (T1)") and control channel responses ("Response Timer for Multiplexer Control Channel (T2)"). Most likely, you have un-ACKed data on the control channel from your client (doesn't sound like you've sent data). Although I wouldn't expect this to cause problems upon disconnect, it is likely that an issue within the BlueZ stack is causing problem when you try to release the TTY while it's waiting for this ACK.
Have you tried sending data on the channel? If the control channel is truly going un-ACK'd, it would be surprising if you able to exchange data.
Have you tried using a different device as your RFCOMM client? Perhaps an issue in the stack on there client side is not ACKing control signals.
I haven't worked extensively with the BlueZ stack, so I can't provide exact code changes, but hopefully this is enough information to formulate a work-around (e.g. if you can track down the timer that is waiting for this ACK, perhaps you could kill it).
This error occurs because a process is holding the port open and only releases if the port is closed.
To check which device isn't releasing the port:
sudo lsof | grep /dev/rfcomm0 (or whatever port is assigned)
So simple answer is, close the comm port within the application and happy days!

GadgetFS on Allwinner H3 based linux board

I have the nanopi-neo which is an Allwinner H3 based linux board. It supports USB OTG mode so I wanted to try and convert it into slave by using GadgetFS.
From what I understand, I am supposed to rebuild the linux kernel provided by them with this option
<*> USB Gadget Drivers
<*> Gadget Filesystem
And for the rootfs use this
Package Selection for the target --->
Hardware handling --->
[*] gadgetfs-test
I then proceeded to build and boot the board.
I followed this guide and used these commands
root:/dev> mkdir /dev/gadget
root:/dev> mount -t gadgetfs gadgetfs /dev/gadget
[ 219.808688] WRN:L2558(drivers/usb/sunxi_usb/udc/sunxi_udc.c):ERR: Error in bind() : -120
[ 219.827939] nop sunxi_usb_udc: failed to start (null): -120
root:/dev> ls /dev/gadget/ -l
total 0
-rw------- 1 root root 0 Jan 1 00:03 sunxi_usb_udc
I am unable to find anything on this error. Most problems people face is regarding insmod but I have inbuilt the module inside the kernel. So I don't have this issue for sure.
I then found this post for sunxi i.e. allwinner sdk asking me to echo some values to otg_role, I did and i got this
echo 1 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role
[ 192.310934] sunxi-ehci sunxi-ehci.1: remove, state 4
[ 192.326666] usb usb1: USB disconnect, device number 1
[ 192.343775] sunxi-ehci sunxi-ehci.1: USB bus 1 deregistered
[ 192.370300] sunxi-ohci sunxi-ohci.1: remove, state 4
[ 192.385941] usb usb5: USB disconnect, device number 1
[ 192.402761] sunxi-ohci sunxi-ohci.1: USB bus 5 deregistered
[ 192.444442] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 192.458113] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1
[ 192.471720] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000
[ 192.500050] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[ 192.511581] hub 1-0:1.0: USB hub found
[ 192.519996] hub 1-0:1.0: 1 port detected
[ 192.548993] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 192.561898] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 5
[ 192.574365] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400
[ 192.644522] hub 5-0:1.0: USB hub found
[ 192.652612] hub 5-0:1.0: 1 port detected
root#kyloren:/$ # echo 2 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role
[ 195.940888] sunxi-ehci sunxi-ehci.1: remove, state 4
[ 195.956330] usb usb1: USB disconnect, device number 1
[ 195.976521] sunxi-ehci sunxi-ehci.1: USB bus 1 deregistered
[ 195.997477] sunxi-ohci sunxi-ohci.1: remove, state 4
[ 196.007624] usb usb5: USB disconnect, device number 1
[ 196.018520] sunxi-ohci sunxi-ohci.1: USB bus 5 deregistered
And I try to mount again but I get the same error.
Can someone guide me on this?
Sometime much later ...
The short answer is you are missing the usermode component which actually instantiates the USB endpoints and handles setup and control requests.
An example of such a beast is to be found in 3 parts, links below.
The long version:
To use the H3 board as a device, you need to modprobe gadgetfs, create a directory mkdir -p /dev/gadget, and then mount the device into that directory with mount -t gadgetfs gadgetfs /dev/gadget.
Finally enable the device role with echo 2 > /sys/bus/platform/devices/sunxi_usb_udc/otg_role.
You will need to add the following to the autoconfig() function in usb.c as that code way predates AllWinner's very existence.
Once the usermode app (usb) is built, simply run it as sudo usb -v for verbose mode. If you are correctly plugged and powered your device should now show up on the host with 2 bulk endpoints and a single interrupt EP.
If you are trying to use mainline you will need to change the name of the controller in the code below (found in /dev/gadget) and add the right spell to the DTS file. Good luck with that as I've yet to get 4.11 to work in device mode on my NanoPi M1 and NanoPi Neo Air boards.
Hope this very belated is of use to someone at some point!
if (stat(DEVNAME = "sunxi_usb_udc", &statb) == 0)
{
HIGHSPEED = 1;
fs_source_desc.bEndpointAddress = hs_source_desc.bEndpointAddress = USB_DIR_IN | 1;
EP_IN_NAME = "ep1in-bulk";
fs_sink_desc.bEndpointAddress = hs_sink_desc.bEndpointAddress = USB_DIR_OUT | 1;
EP_OUT_NAME = "ep1out-bulk";
source_sink_intf.bNumEndpoints = 3;
fs_status_desc.bEndpointAddress = hs_status_desc.bEndpointAddress = USB_DIR_IN | 2;
EP_STATUS_NAME = "ep2in-interrupt";
}
Main usermode driver
USB descriptor strings
Header file for the above

Raspberry Pi USB to serial - multiple ACM0 devices spawning

I am trying to get a Raspberry Pi running Octoprint (a kind of 3D print server) to talk to my Lulzbot Kittaz (RAMBo controller board, an Arduino Mega derivative), but something keeps creating bogus serial ports that seem to be getting in the way.
Here's what I know:
I try and connect over USB and here is the error message I get in the octoprint console:
Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)
Further googling has lead me to SSH in to the pi and run
dmesg | grep tty
and I get:
[ 6.117809] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
[ 28.949094] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
[ 35.389154] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
[ 36.119582] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
... on and on
[ 146.219829] cdc_acm 1-1.4:1.0: ttyACM1: USB ACM device
[ 156.209130] cdc_acm 1-1.4:1.0: ttyACM1: USB ACM device
[ 166.450016] cdc_acm 1-1.4:1.0: ttyACM1: USB ACM device
[ 167.590072] cdc_acm 1-1.4:1.0: ttyACM1: USB ACM device
If I reboot the pi, without the printer connected, the output is:
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=720 bcm2708_fb.fbheight=480 bcm2708.boardrev=0x10 bcm2708.serial=0x6024d696 smsc95xx.macaddr=B8:27:EB:24:D6:96 bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[ 0.001437] console [tty1] enabled
[ 0.646366] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[ 1.033111] console [ttyAMA0] enabled
As soon as I connect the printer to the RasPi, ACM0 and sometimes ACM1 devices start spawning, with a new one appearing every 3-10 seconds. Which seems like that would be a problem for a USB to serial connection. I'm guessing this is the problem. Any ideas on what could be causing it?
Here's what I've done so far:
Disabled getty
Gotten the printer to work with another (lost) install of octopi in the same hardware
Re-installed octopi 3 times
Gotten the printer to connect to my Windows machine
Re-uploaded the firmware to the printer

How to install wireless driver on Debian7 wheezy for MSI GP60 2PE Leopard

I use dual boot for linux/windows.
I'm trying to install wireless driver on Debian_3.16-0.bpo.3-amd64 (bpo is for backport) Wheezy for my MSI laptop (MSI GP60 2PE Leopard).
I made lspci -nn to find reference about my network controller:
Network controller [0280]: Intel Corporation Device [8086:08b3] (rev 83)
So on the website of linux Wireless
My driver must be this one : iwlwifi
I installed it,
apt-get install firmware-iwlwifi
modprobe iwlwifi
but it doesn't work...
During the boot, there are some errors :
Intel(R) Wireless WiFi driver for Linux, in-tree:
[ 4.847284] Copyright(c) 2003- 2014 Intel Corporation
[ 4.847449] iwlwifi 0000:05:00.0: irq 50 for MSI/MSI-X
[ 4.877181] mei_me 0000:00:16.0: irq 51 for MSI/MSI-X
[ 4.923823] iwlwifi 0000:05:00.0: firmware: failed to load iwlwifi-3160-9.ucode (-2)
[ 4.923877] iwlwifi 0000:05:00.0: Direct firmware load failed with error -2
[ 4.923878] iwlwifi 0000:05:00.0: Falling back to user helper
[ 4.940971] Bluetooth: Core ver 2.19
[ 4.940987] NET: Registered protocol family 31
[ 4.940988] Bluetooth: HCI device and connection manager initialized
[ 4.940996] Bluetooth: HCI socket layer initialized
[ 4.940998] Bluetooth: L2CAP socket layer initialized
[ 4.941006] Bluetooth: SCO socket layer initialized
If this can help you, I made modinfo iwlwifi and this is the output :
http://pastebin.com/s8ycnBwu
To make sure that Aptitude package firmware-iwlwifi contains drivers for your device, lookup drivers from chip manufactor web sites...
I recommend to compare Kernel version and intel iwlwifi driver version, from: http://www.intel.com/support/wireless/wlan/sb/CS-034398.htm
and how to guides can be found on: http://wireless.kernel.org/en/users/Drivers/iwlwifi
With these links I hope you can find your own iwlwifi package, if it's supported.
You can check chipset via Windows Device Management...

Resources