(Created page with "If you've never used a bread maker you may have a few questions about making bread in a bread machines. Some common questions include: Is it hard to use? What's with all the s...")
 
(WiFi)
 
(14 intermediate revisions by one user not shown)
Line 1: Line 1:
If you've never used a bread maker you may have a few questions about making bread in a bread machines. Some common questions include: Is it hard to use? What's with all the settings and choices? What ingredients will I need? Do all my measurements have to be precise? Today I'll try to address some of these questions for you.  
+
 
Is it hard to use?
+
=== Enabling GuruPlug Server Marvell Libertas 8688 SDIO 802.11b/g WiFi ===
Making bread in a bread machines is relatively easy once you get the hang of it. It really consists of measuring and placing the ingredients in the baking pan, setting the desired baking mode, removing the baking pad, and removing the bread.  
+
 
One of the benefits of owning a bread machines is its ease of use. It takes away all the hard work of actually making bread from scratch leaving you more time to actually enjoy it.  
+
The GuruPlug Server Plus incorporates an [http://www.azurewave.com/ AzureWave] AW-GH381 IEEE 802.11 b/g Wireless LAN & Bluetooth 3.0 module IC, functionally equivalent to the [http://www.marvell.com/wireless/assets/8688.pdf Marvell 88W8688] 
What's with all the settings and choices?
+
 
Depending on the bread machines you might have a few settings or a great deal of them. These settings allow for the different types of bread to be made. You can also set timers to delay baking so you can have a loaf ready for you at a specific time.
+
== WiFi ==
Do all my measurements need to be precise?
+
If you read the manuals that come with a bread machines they will tell you to follow the recipe exactly as stated. The same goes for bread making recipe books. This makes sense if you're concerned about consistency and reliability in your baking.  
+
Enable the following as kernel <B>modules</B> and compile your modules:
Once people become more experienced however many of them began to try variations on the measurements. Be cautious if you plan on doing this as you're bound to have some failures in the beginning. Just keep this in mind and you can have a lot of fun being creative.  
+
 
Common Questions
+
<PRE>
As you can see making bread in a bread machines is easy and the settings are designed to give you access to different bread, dough, and additional food options. Some basic ingredients are always used but you can also add fruits, nuts, and grains depending on the recipe. Your measurements should be precise but don't be afraid to experiment after you get the hang of it.
+
Device Drivers > Network device support > Wireless LAN
Freshly baked bread is one of the most comforting aromas I can think of. Unfortunately, not everyone can bake fresh bread to a point of perfection. If you are looking for a surefire way to put your bread machines to good use, you have come to the right place. No more wasted bread, no more beautiful crust and hollow inside; just good ole' fashioned homemade bread you can be proud of.  
+
  Marvell 8xxx Libertas WLAN driver support
We have compiled some of the best homemade bread baking tips in a bread machines we could find on the internet. These tips have been tried and put to the real test, coming through with flying colors that would make even Grandma proud.
+
  Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards
1. Get to know your machine. This might sound odd, but knowing the settings, times and cycles of your bread machines is one of the key elements to making great tasting homemade bread.  
+
</PRE>
2. Check the consistency of your bread dough after 7-8 minutes to ensure it is correct. If it appears to be too dry you can add 1 tsp. of water to it at a time and allow your machine to work the water into it. Repeat if necessary. If it is too moist you can add 1 tsp. of flour to it and repeat if necessary.  
+
 
3. Set the controls on your bread machines to match the type of bread you are making.  
+
The modules above will want to load firmware from the root filesystem that is not available until the filesystem is mounted. This will result in an initial error loading firmware (see below), but the kernel will retry later and should succeed. To mitigate this issue, I choose to compile these as loadable modules rather than built-in.
4. Pay attention to the beeps. The beeps are letting you know one cycle is done. This is when you add extra ingredients before the bread begins to cook.
+
 
For more on bread machines visit [http://www.breadmachinereviewsx.com/ Best Bread Maker]
+
<PRE>
 +
mmc0: new high speed SDIO card at address 0001
 +
libertas_sdio mmc0:0001:1: Direct firmware load failed with error -2
 +
libertas_sdio mmc0:0001:1: Falling back to user helper
 +
</PRE>
 +
 
 +
Download Binary BLOBs to /lib/firmware:
 +
 
 +
<PRE>
 +
mkdir /lib/firmware
 +
cd /lib/firmware
 +
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688_helper.bin
 +
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688.bin
 +
</PRE>
 +
 
 +
And reboot. The modules should now load. If not, manually load them using:
 +
 
 +
<PRE>
 +
insmod /lib/modules/<kernel ver>/kernel/drivers/net/wireless/libertas/libertas.ko
 +
insmod /lib/modules/<kernel ver>/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
 +
</PRE>
 +
 
 +
When loaded, the following debug messages should be displayed:
 +
 
 +
<PRE>
 +
libertas_sdio mmc0:0001:1 (unregistered net_device): 00:24:23:1f:b3:e9, fw 10.38.1p25, cap 0x00000303
 +
libertas_sdio mmc0:0001:1 wlan0: Marvell WLAN 802.11 adapter
 +
</PRE>
 +
 
 +
== Bluetooth ==
 +
 
 +
Enable the following Linux kernel modules and recompile your kernel. These modules will want to load firmware from the root filesystem that is not available until mounted. This will result in an initial error loading firmware, but the kernel will retry later and should succeed. To mitigate this issue, I choose to compile these as loadable modules rather than built-in.  
 +
 
 +
<PRE>
 +
Networking Support -> Bluetooth subsystem support
 +
Networking Support -> Bluetooth subsystem support -> Bluetooth device drivers
 +
Marvell Bluetooth driver support
 +
Marvell BT-over-SDIO driver
 +
</PRE>
 +
 
 +
The WLAN/Bluetooth SoC has an ARMv5TE core that runs closed firmware. Download the Binary BLOBs (firmware) to /lib/firmware/mrvl/:
 +
 
 +
<PRE>
 +
mkdir /lib/firmware /lib/firmware/mrvl
 +
cd /lib/firmware/mrvl
 +
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688_helper.bin
 +
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688.bin
 +
</PRE>
 +
 
 +
Upon reboot, you should now see the following kernel message as the module loads:
 +
 
 +
<PRE>
 +
Bluetooth: vendor=0x2df, device=0x9105, class=255, fn=2
 +
</PRE>
 +
 
 +
and be greeted with a Bluetooth hci device:
 +
 
 +
<PRE>
 +
# hciconfig
 +
hci0:  Type: BR/EDR  Bus: SDIO
 +
        BD Address: 00:24:23:1F:B3:EA  ACL MTU: 1021:7  SCO MTU: 240:3
 +
        DOWN
 +
        RX bytes:647 acl:0 sco:0 events:22 errors:0
 +
        TX bytes:442 acl:0 sco:0 commands:22 errors:0
 +
</PRE>
 +
 
 +
If this is not the case, check that the btmrvl.ko & btmrvl_sdio.ko modules are loaded.

Latest revision as of 11:47, 28 June 2014

Enabling GuruPlug Server Marvell Libertas 8688 SDIO 802.11b/g WiFi

The GuruPlug Server Plus incorporates an AzureWave AW-GH381 IEEE 802.11 b/g Wireless LAN & Bluetooth 3.0 module IC, functionally equivalent to the Marvell 88W8688

WiFi

Enable the following as kernel modules and compile your modules:

Device Drivers > Network device support > Wireless LAN
   Marvell 8xxx Libertas WLAN driver support
   Marvell Libertas 8385/8686/8688 SDIO 802.11b/g cards

The modules above will want to load firmware from the root filesystem that is not available until the filesystem is mounted. This will result in an initial error loading firmware (see below), but the kernel will retry later and should succeed. To mitigate this issue, I choose to compile these as loadable modules rather than built-in.

mmc0: new high speed SDIO card at address 0001
libertas_sdio mmc0:0001:1: Direct firmware load failed with error -2
libertas_sdio mmc0:0001:1: Falling back to user helper

Download Binary BLOBs to /lib/firmware:

mkdir /lib/firmware
cd /lib/firmware
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688_helper.bin
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688.bin

And reboot. The modules should now load. If not, manually load them using:

insmod /lib/modules/<kernel ver>/kernel/drivers/net/wireless/libertas/libertas.ko 
insmod /lib/modules/<kernel ver>/kernel/drivers/net/wireless/libertas/libertas_sdio.ko 

When loaded, the following debug messages should be displayed:

libertas_sdio mmc0:0001:1 (unregistered net_device): 00:24:23:1f:b3:e9, fw 10.38.1p25, cap 0x00000303
libertas_sdio mmc0:0001:1 wlan0: Marvell WLAN 802.11 adapter

Bluetooth

Enable the following Linux kernel modules and recompile your kernel. These modules will want to load firmware from the root filesystem that is not available until mounted. This will result in an initial error loading firmware, but the kernel will retry later and should succeed. To mitigate this issue, I choose to compile these as loadable modules rather than built-in.

Networking Support -> Bluetooth subsystem support 
Networking Support -> Bluetooth subsystem support -> Bluetooth device drivers
	Marvell Bluetooth driver support
	Marvell BT-over-SDIO driver

The WLAN/Bluetooth SoC has an ARMv5TE core that runs closed firmware. Download the Binary BLOBs (firmware) to /lib/firmware/mrvl/:

mkdir /lib/firmware /lib/firmware/mrvl 
cd /lib/firmware/mrvl 
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688_helper.bin
wget http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/mrvl/sd8688.bin

Upon reboot, you should now see the following kernel message as the module loads:

Bluetooth: vendor=0x2df, device=0x9105, class=255, fn=2

and be greeted with a Bluetooth hci device:

# hciconfig
hci0:   Type: BR/EDR  Bus: SDIO
        BD Address: 00:24:23:1F:B3:EA  ACL MTU: 1021:7  SCO MTU: 240:3
        DOWN
        RX bytes:647 acl:0 sco:0 events:22 errors:0
        TX bytes:442 acl:0 sco:0 commands:22 errors:0

If this is not the case, check that the btmrvl.ko & btmrvl_sdio.ko modules are loaded.