https://wiki.archlinux.org/api.php?action=feedcontributions&user=Aibo&feedformat=atomArchWiki - User contributions [en]2024-03-29T11:28:14ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=MacBookPro8,x&diff=571207MacBookPro8,x2019-04-14T19:58:28Z<p>Aibo: removed obsolete and fixed names for i915 kernel module parameters for macbook 8,1</p>
<hr />
<div>[[Category:Apple]]<br />
{{Related articles start}}<br />
{{Related|Mac}}<br />
{{Related|MacBookPro7,1}}<br />
{{Related|MacBookPro8,1/8,2/8,3 (2011)}}<br />
{{Related|MacBookPro9,2 (Mid-2012)}}<br />
{{Related articles end}}<br />
<br />
This page contains tips on installing Arch Linux on an Early 2011 MacBook Pro.<br />
<br />
discuss at https://bbs.archlinux.org/viewtopic.php?pid=1021706<br />
<br />
== Installation ==<br />
<br />
Use the latest Arch Installation Image from here: https://www.archlinux.org/download/<br />
<br />
=== EFI Boot ===<br />
<br />
Consult [[UEFI]] <br />
<br />
{{Warning|efibootmgr may brick your Mac firmware.}}<br />
<br />
radeon driver which only loads properly on Macs in BIOS emulation mode, problem description and possible solution [https://bugs.freedesktop.org/show_bug.cgi?id=26891 here].<br />
<br />
'''8,1'''<br />
<br />
Tested on macbook pro 8.1 . Forum thread: [https://bbs.archlinux.org/viewtopic.php?id=136833&p=1]<br />
<br />
Add following to Kernel Parameters. <br />
<br />
i915.enable_fbc=1 usbcore.autosuspend=1 h<br />
<br />
'''8,2 and 8,3'''<br />
<br />
While using EFI Boot, you will find<br />
<br />
radeon 0000:01:00.0: >Invalid ROM contents<br />
i915 0000:00:02.0: Invalid ROM contents<br />
<br />
Which means you need disable KMS for amd and intel card. Add following to Kernel Parameters. <br />
<br />
i915.modeset=0 radeon.modeset=0<br />
<br />
newer versions of the Xorg Intel/i915 driver require KMS to work; without it the X server will fallback to framebuffer mode, with poor performance. The underlying issue is that the Intel KMS driver selects the wrong video output; to fix this try the following settings (tested on an 8,3/17" MBP):<br />
<br />
radeon.modeset=0 i915.modeset=1 i915.lvds_channel_mode=2<br />
<br />
This should give you Intel graphics output. Note that this requires kernel 3.5rc1 or higher; use linux-mainline from AUR if necessary. See [https://bugzilla.kernel.org/show_bug.cgi?id=42842 this bug] for more details.<br />
<br />
If you don't have KMS for intel driver, you need install {{Pkg|xf86-video-fbdev}} and, of course {{Pkg|xf86-video-intel}}.<br />
<br />
If Xorg refuses to start with a "no screens found" message. You have two options, tell Grub2 to turn off the Radeon card and turn on the Intel card during boot; or force the EFI to use the integrated card instead. <br />
<br />
''' Force EFI to use integrated '''<br />
<br />
{{Warning|This requires that you manually write values to the efi. This may brick your system although you should be safe with a pram reset.}}<br />
<br />
If you want to force the EFI to use the integrated graphics card, then check the following topic: [https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix.2037591/ force 2011 macbook to use integrated card]. You may need to append radeon.modeset=0 to your kernel command line so that linux does not attempt to use it: <br />
<br />
radeon.modeset=0<br />
<br />
''' Use grub2 '''<br />
<br />
If you want to tell grub2 then edit /etc/grub.d/00_header and add the "outb" lines immediately after "set gfxmode=" (Tested on an 8,2 MBP):<br />
<br />
...<br />
set gfxmode=${GRUB_GFXMODE}<br />
outb 0x728 1<br />
outb 0x710 2<br />
outb 0x740 2<br />
outb 0x750 0<br />
load video<br />
...<br />
<br />
Then regenerate your {{ic|grub.cfg}}:<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
==== Using rEFInd and Kernel EFISTUB ====<br />
<br />
'''Install rEFInd'''<br />
<br />
Consult [http://www.rodsbooks.com/refind/installing.html Installing rEFInd]<br />
<br />
Boot into Mac OS X<br />
<br />
# mkdir -p /efi/refind<br />
# cp -r refind/* /efi/refind/<br />
# rm /efi/refind/refind_ia32.efi<br />
# mv /efi/refind/refind.conf-sample /efi/refind/refind.conf and adjust it<br />
# bless --setBoot --folder /efi/refind --file /efi/refind/refind_x64.efi<br />
<br />
'''Setting up EFISTUB'''<br />
<br />
Follow [[EFISTUB]].<br />
<br />
'''Add Kernel MODULES'''<br />
<br />
Without this, you will get 'root fs not found' error.<br />
<br />
Edit {{ic|/etc/mkinitcpio.conf}}:<br />
<br />
MODULES="..ahci libahci.."<br />
<br />
Then re-generate the boot img:<br />
<br />
# mkinitcpio -p linux<br />
<br />
=== BIOS boot ===<br />
<br />
Boot into BIOS emulation mode. AMD card works, but intel card doesn't.<br />
<br />
Use refind to load GRUB legacy.<br />
<br />
== Wireless network == <br />
<br />
See [[Broadcom wireless]] for b43 installation and usage.<br />
<br />
== Keyboard and touchPad == <br />
<br />
=== Keyboard === <br />
<br />
Default F1 key represents XF86MonBrightnessDown, if you want it represents to F1. Set {{ic|1=fnmode=2}} parameters to hid_apple module.<br />
See [[Kernel modules#Configuration]]{{Broken section link}} for instruction. <br />
<br />
=== Touchpad ===<br />
<br />
Two finger scrolling and left-click works out of the box. Unfortunately the right-click is not functional.<br />
<br />
'''14/09/2012 : right click (2 fingers) and middle click (3 fingers) works out of the box with KDE.'''<br />
<br />
There are two drivers to provide features to the touchpad (including right and middle click): [https://github.com/BlueDragonX/xf86-input-mtrack mtrack] which is reported to work well and [[Synaptics]] which provides more features but might require some tuning.<br />
<br />
'''mtrack:'''<br />
<br />
Mtrack is available in [https://aur.archlinux.org/packages.php?ID=48505 AUR]. The configuration is done via the /etc/X11/xorg.conf.d/10-mtrack.conf file. Check if the mtrack module is properly loaded in the /var/log/Xorg.0.log file. Sometimes xorg loads other drivers before, like eg. synpatics, and the mtrack driver is not used at all.<br />
<br />
For an MBP 8,3 I needed to use the following config (in /etc/X11/xorg.conf.d/10-mtrack.conf) to stop it picking up other input devices by mistake:<br />
<br />
Section "InputClass"<br />
Identifier "Multitouch Touchpad"<br />
Driver "mtrack"<br />
MatchDevicePath "/dev/input/event*"<br />
MatchProduct "bcm5974"<br />
MatchIsTouchpad "true"<br />
EndSection<br />
<br />
'''synaptics:'''<br />
<br />
See [[Touchpad Synaptics#Installation]] for synaptics installation and configuration instructions.<br />
<br />
{{Tip|[[Touchpad_Synaptics#Synclient|Synclient]] provides some additional configuration for the touchpad.}}<br />
#list all possible configurable parameters.<br />
synclient<br />
<br />
#To change a value for a command use `synclient command=X`<br />
#Example:<br />
synclient HorizTwoFingerScroll=1<br />
<br />
After you have successfully tried and tested your options through synclient, you can make these changes permanent by adding them to /etc/X11/xorg.conf.d/50-synaptics.conf<br />
<br />
== Video and screen ==<br />
<br />
'''13-inch'''<br />
<br />
Intel HD Graphics 3000: works with {{Pkg|xf86-video-intel}}.<br />
<br />
Adjust Brightness: works with {{Pkg|xorg-xbacklight}}<br />
For example:<br />
<br />
$ xbacklight -inc 7 # increase brightness<br />
$ xbacklight -dec 7 # decrease brightness<br />
<br />
or you can use a simple bash script that provides screen and keyboard backlight management by simple cli (-d for display / -k for keyboard)<br />
<br />
#!/bin/bash<br />
case $1 in<br />
-d|--display)<br />
if [ "$2" != "0" ]<br />
then<br />
echo "$[(($2 * 4882) / 100) % 4883]" > /sys/class/backlight/intel_backlight/brightness<br />
fi;;<br />
-k|--keyboard)<br />
echo "$[(($2 * 255) / 100) % 256]" > /sys/class/leds/smc\:\:kbd_backlight/brightness;;<br />
-h|--help)<br />
echo -e "MacBook 8.1 brightness helper\n\t-d\tset display brightness (0-100%)\n\t-k\tset keyboard brightness (0-100%)\n";;<br />
*)<br />
echo -e "Unknown option try -h or --help";;<br />
esac<br />
<br />
Save it in {{ic|/usr/local/bin/macbackl}} and mark it as executable:<br />
<br />
# chown +x /usr/bin/macbackl<br />
<br />
For usage, run:<br />
<br />
$ macbackl --help<br />
<br />
{{Note|You must be root to edit the files in {{ic|/sys/class/*}} but if you want you can chown {{ic|/sys/class/leds/smc\:\:kbd_backlight/brightness}} and {{ic|/sys/class/backlight/intel_backlight/brightness}}}}<br />
<br />
'''15-inch and 17-inch'''<br />
<br />
AMD Radeon HD 6490M: Unknown.<br />
<br />
AMD Radeon HD 6750M and 6770M: works with {{Pkg|xf86-video-ati}}.<br />
<br />
Adjust Brightness: install AUR package {{AUR|apple-bl-gmux}}{{Broken package link|{{aur-mirror|apple-bl-gmux}}}} and reboot system.<br />
<br />
# echo 34839 > /sys/class/backlight/gmux_backlight/brightness<br />
<br />
== Sound ==<br />
<br />
'''8,1 and 8,2'''<br />
<br />
$ alsamixer # unmute 'Front Speaker' and 'Surround Speaker'<br />
<br />
'''8,3'''<br />
<br />
Using [[PulseAudio]] sound works out of the box. However some applications (e.g. [[Vlc]]) have intermittent crackling; appending 'tsched=0' to 'module-udev-detect' in /etc/pulse/default.pa fixes this.<br />
<br />
== Suspend and hibernate == <br />
<br />
Consulte [[Suspend and hibernate]].<br />
<br />
'''8,1'''<br />
<br />
For s2ram install {{AUR|uswsusp-git}} and add to file {{ic|/etc/pm/config.d/module}} following content:<br />
<br />
SUSPEND_MODULES="bcma b43" <br />
SLEEP_MODULE=uswsusp<br />
<br />
Without this, system hangs after the machine wakes up and tries to reconnect to the wireless network.<br />
<br />
'''8,2'''<br />
<br />
BIOS Boot: using linux >= 3.6.2, supend and resume works out-of-the-box.<br />
<br />
EFI Boot: resume may not work.<br />
<br />
'''8,3'''<br />
<br />
Supend and resume work out of the box, including wireless reconnection.<br />
<br />
== HFS+ ==<br />
<br />
HFS is mounted as Read-Only. By [http://support.apple.com/kb/ht2355 turning journaling off] in OS X, the HFS+ file system will be read/write under Linux.<br />
<br />
== Bluetooth ==<br />
<br />
I had problems pairing devices, nothing was detected with<br />
<br />
hcitool scan<br />
<br />
There seems to be a conflict between the bluetooth module and the b43 one (wifi), as written in [http://blog.tkassembled.com/188/macbook-pro-83-bluetooth-issues-on-linux/ this blog post]. The solution is creating {{ic|/etc/modprobe.d/b43.conf}} with the following content:<br />
options b43 btcoex=0<br />
<br />
== Webcam ==<br />
<br />
In order to use your webcam you need to have permission to use /dev/video0. <br />
# gpasswd -a ''username'' video<br />
<br />
Test to see if it works<br />
$ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot<br />
<br />
=== With linux-mainline ===<br />
<br />
As noted elsewhere in this document, some MBP features work best (or only) with the latest kernel; the usual way to install this is using the {{AUR|linux-mainline}} package. However, as of 3.6.rc3 the config for linux-mainline disables webcam support (due to changed defaults in kernel). [http://pastebin.com/WbYpPrg1 This patch] to the x86_64 config fixes this issue.<br />
<br />
== Others that works-out-of-the-box ==<br />
<br />
* Sensors<br />
<br />
== Troubleshooting ==<br />
<br />
=== Broken integrated GPU ===<br />
<br />
The 8.2 macbook pro models with integrated graphics card have a manufacturing issue that causes the lead-free solder of the GPU to crack, inhibiting its ability to function. The problem begins by seeing red lines on the monitor and then failing to boot OS X. Apple issued a [https://www.apple.com/uk/support/macbookpro-videoissues/ repair program], but the odds are that your GPU will die again soon.<br />
<br />
It is still possible to boot linux using the outb 0x750 lines in grub2 as described above, however this is a nuisance because it may be impossible to read the monitor when the problem is severe, making installation impossible. In addition, you may also wish to use another boot loader other than GRUB.<br />
<br />
It is possible to fix the problem by forcing the EFI to use the integrated graphics card.<br />
<br />
{{Warning|This requires that you manually write values to the efi. This may brick your system although you should be safe with a pram reset.}}<br />
<br />
If you want to force the EFI to use the integrated graphics card, then check the following topic: [https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix.2037591/ force 2011 macbook to use integrated card]. You may need to append radeon.modeset=0 to your kernel command line so that linux does not attempt to use it: <br />
<br />
radeon.modeset=0<br />
<br />
=== Grub2-EFI boot: Intel invalid ROM contents ===<br />
<br />
If you see this error on boot and notice the screen output seemingly frozen, you need to disable KMS.<br />
<br />
You have two options, use grub to disable the discrete GPU or disable the discrete GPU in the EFI.<br />
<br />
'''' use grub ''''<br />
<br />
Append the following to your /etc/grub/defaults LINUX line:<br />
<br />
i915.modeset=0 radeon.modeset=0<br />
<br />
However, newer versions of the Xorg Intel/i915 driver require KMS to work; without it the X server will fallback to framebuffer mode, with poor performance. The underlying issue is that the Intel KMS driver selects the wrong video output; to fix this try the following settings (tested on an 8,3/17" MBP):<br />
<br />
radeon.modeset=0 i915.modeset=1 i915.lvds_channel_mode=2<br />
<br />
This should give you Intel graphics output. Note that this requires kernel 3.5rc1 or higher; use linux-mainline from Aur if necessary. See [https://bugzilla.kernel.org/show_bug.cgi?id=42842 this bug] for more details.<br />
<br />
You may find you need to enable the Intel device; if using Grub, the following should enable it at boot time:<br />
<br />
set gfxpayload=keep<br />
# Switch gmux to IGD<br />
outb 0x728 1<br />
outb 0x710 2<br />
outb 0x740 2<br />
<br />
Alternatively, if you have OS X available you can use [http://codykrieger.com/gfxCardStatus gfxCardStatus] to switch to the Intel device before booting into Linux.<br />
<br />
'''' Force EFI to use integrated ''''<br />
<br />
{{Warning|This requires that you manually write values to the efi. This may brick your system although you should be safe with a pram reset.}}<br />
<br />
If you want to force the EFI to use the integrated graphics card, then check the following topic: [https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix.2037591/ force 2011 macbook to use integrated card]. You may need to append radeon.modeset=0 to your kernel command line so that linux does not attempt to use it: <br />
<br />
radeon.modeset=0<br />
<br />
=== Grub2-EFI boot: root fs not found ===<br />
<br />
On boot, grub2-efi may complain that no root fs is found. This is due to the ahci modules being improperly loaded. <br />
<br />
chroot into the installed Arch system. Then edit the {{ic|/etc/mkinitcpio.conf}} MODULES array:<br />
<br />
MODULES="..ahci libahci.."<br />
<br />
Then re-generate the boot img:<br />
<br />
# mkinitcpio -p linux</div>Aibohttps://wiki.archlinux.org/index.php?title=Talk:Broadcom_wireless&diff=569700Talk:Broadcom wireless2019-03-24T21:40:40Z<p>Aibo: /* BCM4331 works better with broadcom-wl-dkms than with b43-firmware */ re</p>
<hr />
<div>== b43 firmware & fwcutter ==<br />
<br />
Discussion from [https://wiki.archlinux.org/index.php/Broadcom_wireless#Loading_the_b43.2Fb43legacy_kernel_module ArchWiki "Loading the b43/b43legacy kernel module"].<br />
<br />
'''How does it (the package ''b43-fwcutter'') relate to the external scripts and/or the AUR packages listed?'''<br />
<br />
b43-fwcutter is required by all of the options listed to extract the firmware from the driver. [[User:Dustmote|Dustmote]] ([[User talk:Dustmote|talk]])<br />
<br />
'''Can it (the package ''b43-fwcutter'') be used to replace the manual download explained below (on [https://wiki.archlinux.org/index.php/Broadcom_wireless#Loading_the_b43.2Fb43legacy_kernel_module ArchWiki "Loading the b43/b43legacy kernel module"])?'''<br />
<br />
It's used in the manual download. [[User:Dustmote|Dustmote]] ([[User talk:Dustmote|talk]])<br />
<br />
'''Summary of options'''<br />
<br />
There are a bunch of different packages/instructions/etc for getting the firmware. All of them do approximately the ''same'' thing with b43-fwcutter. [[User:Dustmote|Dustmote]] ([[User talk:Dustmote|talk]])<br />
<br />
* [https://wiki.archlinux.org/index.php/Broadcom_wireless#Loading_the_b43.2Fb43legacy_kernel_module ArchWiki "Loading the b43/b43legacy kernel module"] has a couple leads:<br />
** It describes a manual download of [http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2 broadcom-wl-4.178.10.4].<br />
** It links to [https://github.com/dbb/scripts/blob/master/b43-lp-installer an installer on github] that downloads [http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2 broadcom-wl-4.178.10.4].<br />
* [http://www.lwfinger.com/b43-firmware/install_bcm43xx_firmware_5.100.138 An install script] at www.lwfinger.com/b43-firmware downloads [http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 broadcom-wl-5.100.138].<br />
* The [https://aur.archlinux.org/packages/b43-firmware/ b43-firmware AUR package] contains two PKGBUILD files:<br />
** PKGBUILD downloads [http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2 broadcom-wl-5.100.138].<br />
** PKGBUILD.new downloads [http://www.lwfinger.com/b43-firmware/broadcom-wl-6.30.163.46.tar.bz2 broadcom-wl-6.30.163.46].<br />
<br />
Basically all of the packages have the same approach to cutting out the firmware. It's just a different version of the driver. I don't know what's the difference, <s>but I'm going to go try them all out</s>. The experiment results from trying the 3 firmware versions on my ''[14e4:4315] LP-PHY rev 01'' are on this [https://docs.google.com/spreadsheets/d/1fsKRRMoSnew-815mcUdH4iOdkQb0CmM0rlEH8UF1VJ4/edit?usp=sharing google sheet]. [[User:Dustmote|Dustmote]] ([[User talk:Dustmote|talk]])<br />
<br />
== <s>b44 not load</s> ==<br />
I have the same configuration mentioned in the instructions. Dell Inspiron with BCM4401 and BCM4328 cards.<br />
<br />
I still can not get these two cards to work together.<br />
<br />
I have configured my machine just like the method stated but my ethernet card (b44) will not load.<br />
<br />
Is there something else that could cause a conflict between multiple Broadcom modules?<br />
<br />
{{unsigned|07:11:, 17 December 2009 (UTC)|Scottbg1}}<br />
<br />
: Close this? Old discussion from 2009, another time, kernel modules version, another ArchWiki documentation. -- [[User:Josephgbr|Josephgbr]] ([[User talk:Josephgbr|talk]]) 19:03, 29 January 2019 (UTC)<br />
<br />
::Absolutely, refers to way [https://wiki.archlinux.org/index.php?title=Broadcom_wireless&oldid=156133#Miscellaneous_User_notes old] & long gone revision. --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 20:06, 29 January 2019 (UTC)<br />
<br />
== broadcom-wl work well ==<br />
I'm running a new dv7-7000 with a Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01). I could not get this to work with the kernel drivers. The signal was so weak it wouldn't obtain an IP address from DHCP, even right next to the AP. Using broadcom-wl did the trick and things are working great.--[[User:Skarphace|Skarphace]] ([[User talk:Skarphace|talk]]) 05:16, 21 July 2012 (UTC)<br />
<br />
== Problem with bcm43xx ==<br />
<br />
there is a common problem with some cards managed with the b43 driver, it gets disconnected randomly, with an error in dmesg saying:<br />
kernel: No probe response from AP <addr> after 500ms, disconnecting.<br />
but some googlin' gives the solution, i guess it should be included here as an advice:<br />
type the folowing in a shell:<br />
sudo touch /etc/modprobe.d/b43.conf<br />
echo "options b43 pio=1 qos=0" | sudo tee -a /etc/modprobe.d/b43.conf<br />
-- [[User:Alvaro Martinez|Alvaro Martinez]] ([[User talk:Alvaro Martinez|talk]]) 05:24, 30 May 2013 (UTC)<br />
:We don't like putting {{ic|echo}}, {{ic|cat}}, etc. in instructions, so if someone does decide that this should be in the main article, make it look similar to this:<br />
<br />
:Add the file below:<br />
{{hc|/etc/modprobe.d/b43.conf|<nowiki><br />
options b43 pio=1 qos=0<br />
</nowiki>}}<br />
:-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 10:41, 30 May 2013 (UTC)<br />
<br />
== Miscellaneous user notes ==<br />
<br />
''This section must be rewritten impersonally, very likely as a FAQ or Troubleshooting section (also remove or update out-of-date information) to be moved to the main article. See also [[Help:Style]].''<br />
:''Moved from [[Broadcom wireless]]'' -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:08, 12 September 2014 (UTC)<br />
<br />
* In my Dell Inspiron Laptop, I have a Broadcom BCM4401 Ethernet card and a Broadcom BCM4328 wireless card. If I just remove {{ic|b43}}, I can load the {{ic|wl}} driver, but no wireless card shows up. However, if I first remove the {{ic|b44}} (and {{ic|ssb}}) driver for my Ethernet card, and ''then'' load the {{ic|wl}} driver, I get a wireless device using the name ''eth0''. Afterwards, I can load {{ic|b44}} again, to have an Ethernet ''eth1'' device.<br />
<br />
* I could not get the BCM4313 chip on a Lenovo B560 to work before following these steps:<br />
*# "Load defaults" in the BIOS. After that, the wireless was working under MS Windows. There are not many options in there, so I do not know what the reset may have changed, but it did the trick.<br />
*# Blacklist the {{ic|acer_wmi}} module. For testing, you can add the following to the kernel line in GRUB: {{ic|1=acer_wmi.disable=1}}<br />
<br />
* I have found that to get the {{ic|wl}} drivers working for the Broadcom 4313 chip, you need to blacklist {{ic|brcm80211}} along with {{ic|b43}} and {{ic|ssb}}.<br />
:--[[User:Admiralspark|Admiralspark]], 20 June 2011<br />
<br />
* If you notice slow wireless speeds when your laptop/netbook is not connected to AC power, you may need to disable Wi-Fi power management by adding the following line (assuming ''wlan0'' is your wireless device) {{ic|iwconfig wlan0 power off}} to {{ic|/etc/rc.local}} and create an empty file {{ic|/etc/pm/power.d/wireless}}. In case you also experience interface swapping (discussed above), you might want to add another line for the second interface name as well. The command will have no effect on the wired interface.<br />
:--[[User:Tom.yan|Tom.yan]], 16 August 2011<br />
<br />
* In my case on a HP pavilion netbook DM1 with a BCM4313 chip, with the original kernel brcmsmac driver, the LED didn't work, the power was awful, and it kept loosing the signal all the time, unless very close to the Wi-Fi hotspot. The last Broadcom driver {{ic|wl}} solved everything. So in some cases, it's actually better than the kernel driver. However, I had to install it in the [[Mkinitcpio|initramfs image]], along with lib80211 and lib80211_crypt_tkip to avoid a recurring kernel panic. <br />
:--[[User:Ivanoff|Ivanoff]], 18 March 2012 *Edit* It's all solved with the latest kernel versions. --[[User:Ivanoff|Ivanoff]] ([[User talk:Ivanoff|talk]]) 14:19, 14 December 2013 (UTC)<br />
<br />
* On a similar HP DM1 netbook I found the brcmsmac driver did not work either. The kernel panic can also be solved by blacklisting the brcmsmac, b43 and wl drivers. In rc.local you can {{ic|modprobe wl}} without problems. On a sidenote: I get hard lockups, without any way to debug because there is nothing in kernel.log. Not sure if related to the wl driver though.<br />
:--[[User:Wilco|Wilco]], 5 May 2012<br />
<br />
* Likewise, my HP Pavilion g7-1374ca also had problems with stock kernel drivers. I downloaded Broadcom tarball, but it wouldn't compile in 3.4.3. I removed the #include <asm/system.h> line and commented out a line referencing .ndo_set_multicast_list (there's only one). Then I was able to compile and load the module for a 100% strength signal, no lockups so far.<br />
<br />
* On a Dell Inspiron N5110 with BCM4313, when the wireless was hardware-off, the system would always hang at boot with the kernel {{ic|brcmsmac}} driver. Using the {{ic|broadcom-wl}} driver the problem was solved.<br />
:--[[User:Nplatis|Nplatis]], 14 October 2012<br />
<br />
* On a Dell M4700 with BCM4313 got hideously slow "performance" with default driver -- switched to broadcom-wl and got near advertised link rate speed (65 to 72 Mb/sec)...until restarting, then was not able to associate with wireless access point. The solution was to [[Kernel modules#Blacklisting|blacklist]] the kernel modules {{ic|dell_wmi}} and {{ic|cfg80211}}.<br />
:--[[User:virtualeyes|virtualeyes]], 23 February 2013<br />
<br />
* On a Lenovo G580 mounting a BCM4313 the proprietary driver module kept crashing because some dependencies were unsatisfied (the same problem found by [[User:Ivanoff|Ivanoff]]). What worked for me was to put a file in /etc/modprobe.d/ with the following content:<br />
{{hc|/etc/modprobe.d/10_wl.conf|<br />
blacklist brcmsmac<br />
blacklist bcma<br />
softdep wl pre: lib80211_crypt_tkip lib80211_crypt_ccmp lib80211_crypt_wep<br />
}}<br />
:--[[User:zarel|zarel]], 21 June 2013<br />
<br />
* On MacBook Pro late 2013 (MacBookPro11,1) with BCM4360 the proprietary STA driver loses connection after running iwconfig (and possibly other software that calls iw_get_ext(..., ..., SIOCGIWTXPOW, ...)) with error messages<br />
{{hc|dmesg|<nowiki>kernel: ERROR @wl_dev_intvar_get : error (-1)<br />
kernel: ERROR @wl_cfg80211_get_tx_power : error (-1)</nowiki>}}<br />
Here's a dirty workaround for the kernel<br />
{{hc|patch|<nowiki>--- /tmp/wireless.h 2014-05-02 04:38:22.403321811 +0400<br />
+++ /usr/src/linux/include/uapi/linux/wireless.h 2014-05-02 04:29:15.291996332 +0400<br />
@@ -283,7 +283,7 @@<br />
#define SIOCSIWFRAG 0x8B24 /* set fragmentation thr (bytes) */<br />
#define SIOCGIWFRAG 0x8B25 /* get fragmentation thr (bytes) */<br />
#define SIOCSIWTXPOW 0x8B26 /* set transmit power (dBm) */<br />
-#define SIOCGIWTXPOW 0x8B27 /* get transmit power (dBm) */<br />
+//#define SIOCGIWTXPOW 0x8B27 /* get transmit power (dBm) */<br />
#define SIOCSIWRETRY 0x8B28 /* set retry limits and lifetime */<br />
#define SIOCGIWRETRY 0x8B29 /* get retry limits and lifetime */<br />
<br />
@@ -294,6 +294,8 @@<br />
#define SIOCSIWPOWER 0x8B2C /* set Power Management settings */<br />
#define SIOCGIWPOWER 0x8B2D /* get Power Management settings */<br />
<br />
+#define SIOCGIWTXPOW SIOCGIWPOWER<br />
+<br />
/* WPA : Generic IEEE 802.11 informatiom element (e.g., for WPA/RSN/WMM).<br />
* This ioctl uses struct iw_point and data buffer that includes IE id and len<br />
* fields. More than one IE may be included in the request. Setting the generic</nowiki>}}<br />
:--[[User:sbar|sbar]], 03 May 2014<br />
<br />
* On Ahtec PBL01 with wireless controller BCM4313 (using kernel 3.11.0-12 and brcmsmac module) half of times I cannot connect to home wireless network. However I can connect to other networks, for example if I setup my smartphone as access point. What is more confusing is that after connecting to my smartphone network I can switch to my home network and it will connect fine.<br />
:--[[User:Pablog|Pablog]] ([[User talk:Pablog|talk]]) 13:16, 5 June 2014 (UTC)<br />
<br />
* On Lenovo Thinkpad Twist with BCM43228 I was suffering from random disconnections and slow speed when I was connected. I tried the power saving suggestions on the wiki but to no avail. dmesg tail kept giving me this message:<br />
warning: Forced PIO by use_pio module parameter. This should not be needed and will result in lower performance.<br />
<br />
This is how /etc/modprobe.d/b43.conf is written:<br />
options b43 pio=1 qos=0<br />
<br />
I changed the pio parameter to 0 and which seems to have fixed all of my problems.<br />
<br />
:--[[User:Bigbabyjesus|Bigbabyjesus]] ([[User talk:Bigbabyjesus|talk]]) 18:04, 17 February 2015 (UTC)<br />
<br />
* Archiso on a laptop Acer Aspire 5560G with a Broadcom BCM43227 network controller [14e4:4358] does not have access to wifi.<br />
<br />
When starting up from the Archiso (from archlinux-2018.12.01-x86_64.iso) the wireless interface is not detected because the wrong module is loaded by default.<br />
<br />
{{hc|lspci -v|<br />
Network controller: Broadcom Inc. and subsidiaries BCM43227 802.11b/g/n<br />
...<br />
Kernel driver in use: bcma-pci-bridge<br />
Kernel modules: bcma, wl<br />
}}<br />
We need to replace the "bcma-pci-bridge" module with wl (broadcom-wl). Here are the modules installed by default:<br />
<br />
{{hc|lsmod|<br />
Module Size Used by<br />
...<br />
b43 450560 0<br />
...<br />
wl 6463488 0<br />
...<br />
bcma 61440 1 b43<br />
}}<br />
So we remove the modules b43, bcma, and wl.<br />
<br />
rmmod b43<br />
rmmod bcma<br />
rmmod wl<br />
<br />
We re-add the broadcom-wl module:<br />
<br />
modprobe wl<br />
<br />
Finally we check which is the module used:<br />
<br />
{{hc|lspci -v|<br />
Network controller: Broadcom Inc. and subsidiaries BCM43227 802.11b/g/n<br />
... <br />
Kernel driver in use: wl<br />
Kernel modules: bcma, wl<br />
}}<br />
Ok, we see now that it is the wl module that is loaded for our Network controller.<br />
<br />
The interface is then showing up when typing ip link. It is then possible to launch wifi-menu successfully.<br />
<br />
You can then install Arch Linux normally. However you will not have the broadcom-wl module in your hard-drive installation with pacstrap. You will have to install the broadcom-wl module into your arch installation from Archiso. In the following instructions you have to replace /dev/sda3 with your partition which was designated as your root ("/") filesystem. For me that is /dev/sda3 .<br />
<br />
mount /dev/sda3 /mnt<br />
arch-chroot /mnt<br />
pacman -S broadcom-wl<br />
<br />
Reboot and broadcom-wl will be the module in use for the network controller<br />
:--[[User:pamrg|pamrg]] ([[User talk:pamrg|talk]]) 11:42, 08 March 2019 (UTC)<br />
<br />
== DKMS module ==<br />
<br />
The section 'Installation' speculates on {{aur|broadcom-wl-dkms}}:<br />
<br />
<blockquote>The DKMS variant {{AUR|broadcom-wl-dkms}} <br />
* is kernel agnostic. This means it supports different kernels you may use (e.g. {{AUR|linux-ck}}). <br />
* is kernel release agnostic, too. It will be automatically rebuilt after every kernel upgrade or fresh installation. If you use {{AUR|broadcom-wl}} or another kernel release dependant variant (e.g. {{AUR|broadcom-wl-ck}}), it may happen that kernel upgrades break wireless from time to time until the packages are in sync again.</blockquote><br />
<br />
This should probably be noted the package becomes broken every once in a while with new linux-headers incompatible and thus if Wi-fi is your only connection it is dangerous to upgrade the kernel without first checking for package updates (or at least complaints in the discussion.)<br />
[[User:Bipll|Bipll]] ([[User talk:Bipll|talk]]) 21:11, 20 March 2017 (UTC)<br />
<br />
== BCM4331 works better with broadcom-wl-dkms than with b43-firmware ==<br />
<br />
I was having some wifi flakiness issues when using the BCM4331 card with {{aur|b43-firmware}}, but those issues have been fixed after removing the package and using {{Pkg|broadcom-wl-dkms}} instead. The following statement appears on the [[Broadcom wireless#b43]] wiki section:<br />
<br />
{{Note|<br />
* BCM4331 noticed to have problems with '''b43-firmware-classic'''. Use {{aur|b43-firmware}} for this card instead.<br />
}}<br />
<br />
For the reasons explained, I think it would be better to suggest the use of {{Pkg|broadcom-wl-dkms}} for BCM4331 users, also because the package is already in the [[community repository]].<br />
<br />
[[User:Kieto|Kieto]] ([[User talk:Kieto|talk]]) 09:00, 22 April 2018 (UTC)<br />
<br />
: I can confirm this. On a MacBook Pro 8,1 with BCM4331 wifi is faster and more power efficient (power management didn't work with b43). Recommending {{Pkg|broadcom-wl-dkms}} instead of b43 with {{aur|b43-firmware}} seems to be a better default.<br />
: [[User:Aibo|Aibo]] ([[User talk:Aibo|talk]]) 21:40, 24 March 2019 (UTC)<br />
<br />
== Installation: broadcom-wl is in the official repos now ==<br />
<br />
The instructions as written are geared towards users performing the initial installation, but the May 2018 ISO will have the binary driver for the stock kernel preinstalled (see [https://bugs.archlinux.org/task/58239 FS#58239]). The instructions will need to be updated at that time to reference only the rmmod/modprobe bits, and if necessary to describe the manual installation process for users of the non-stock kernel, it should be clearly separated. -- [[User:Eschwartz|Eschwartz]] ([[User talk:Eschwartz|talk]]) 02:31, 22 April 2018 (UTC)<br />
<br />
== Promiscuous mode and MAC spoofing ==<br />
<br />
I am using a mid 2014 (10,2) macbook pro that has the BCM4360 based wireless interface.<br />
<br />
It does not support promiscuous mode i.e. it will only accept packets that are either broadcast or for a specific factory MAC address. This also breaks MAC spoofing which which is a desired privacy feature of wifi scanning and accessing public wifi. I think it is worth adding a section about this to make users aware.<br />
<br />
An example of a MAC spoofed DHCP request, given real address X and spoofed address Y:<br />
<br />
1. Send DHCP request with Y, wireshark confirms that the bytes are set correctly in the request<br />
2. The reply to Y comes in, but the firmware then checks if Y == X, which fails, and drops the packet. Wireshark does not show this because, obviously, the packet is dropped by the firmware.<br />
3. Result: DHCP fails, no connection.<br />
<br />
It may also be worth stating the form factor of the daughterboard so that it is easier to find replacements, but perhaps it is better to put that on a macbook specific page.<br />
--[[User:O10963698|mf]] ([[User talk:O10963698|talk]]) 13:23, 4 February 2019 (UTC)</div>Aibohttps://wiki.archlinux.org/index.php?title=OpenLDAP&diff=313267OpenLDAP2014-05-03T21:10:05Z<p>Aibo: /* OpenLDAP over TLS */ changed permissions for the ssl directory, because read permissions are not sufficient for accessing directories</p>
<hr />
<div>[[Category:Networking]]<br />
[[ru:openLDAP]]<br />
{{Related articles start}}<br />
{{Related|LDAP Authentication}}<br />
{{Related|LDAP Hosts}}<br />
{{Related articles end}}<br />
<br />
OpenLDAP is an open-source implementation of the LDAP protocol. An LDAP server basically is a non-relational database which is optimised for accessing, but not writing, data. It is mainly used as an address book (for e.g. email clients) or authentication backend to various services (such as Samba, where it is used to emulate a domain controller, or [[LDAP Authentication|Linux system authentication]], where it replaces {{ic|/etc/passwd}}) and basically holds the user data.<br />
<br />
Commands related to OpenLDAP that begin with {{ic|ldap}} (like {{ic|ldapsearch}}) are client-side utilities, while commands that begin with {{ic|slap}} (like {{ic|slapcat}}) are server-side.<br />
<br />
Directory services are an enormous topic. Configuration can therefore be complex. This page is a starting point for a basic OpenLDAP installation and a sanity check. If you are totally new to those concepts, [http://www.brennan.id.au/20-Shared_Address_Book_LDAP.html this] is an good introduction that is easy to understand and that will get you started, even if you are new to everything LDAP.<br />
<br />
== Installation ==<br />
<br />
OpenLDAP contains both a LDAP server and client. Install it with the package {{Pkg|openldap}}, available in the [[official repositories]].<br />
<br />
== Configuration ==<br />
<br />
=== The server ===<br />
<br />
{{Note|If you already have an OpenLDAP database on your machine, remove it by deleting everything inside {{ic|/var/lib/openldap/openldap-data/}}.}}<br />
<br />
The server configuration file is located at {{ic|/etc/openldap/slapd.conf}}.<br />
<br />
Edit the suffix and rootdn. The suffix typically is your domain name but it does not have to be. It depends on how you use your directory. We will use ''example'' for the domain name, and ''com'' for the tld. The rootdn is your LDAP administrator's name (we'll use ''root'' here).<br />
{{bc|<nowiki><br />
suffix "dc=example,dc=com"<br />
rootdn "cn=root,dc=example,dc=com"<br />
</nowiki>}}<br />
<br />
Now we delete the default root password and create a strong one:<br />
# sed -i "/rootpw/ d" /etc/openldap/slapd.conf #find the line with rootpw and delete it<br />
# echo "rootpw $(slappasswd)" >> /etc/openldap/slapd.conf #add a line which includes the hashed password output from slappasswd<br />
<br />
You will likely want to add some typically used [http://www.openldap.org/doc/admin24/schema.html schemas] to the top of {{ic|slapd.conf}}:<br />
{{bc|<br />
include /etc/openldap/schema/cosine.schema<br />
include /etc/openldap/schema/inetorgperson.schema<br />
include /etc/openldap/schema/nis.schema<br />
}}<br />
<br />
You will likely want to add some typically used [http://www.openldap.org/doc/admin24/tuning.html#Indexes indexes] to the bottom of {{ic|slapd.conf}}:<br />
{{bc|<br />
index uid pres,eq<br />
index mail pres,sub,eq<br />
index cn pres,sub,eq<br />
index sn pres,sub,eq<br />
index dc eq<br />
}}<br />
<br />
Now prepare the database directory. You will need to copy the default config file and set the proper ownership:<br />
# cp /etc/openldap/DB_CONFIG.example /var/lib/openldap/openldap-data/DB_CONFIG<br />
# chown ldap:ldap /var/lib/openldap/openldap-data/DB_CONFIG<br />
<br />
{{Note|With OpenLDAP 2.4 the configuration of {{ic|slapd.config}} is deprecated. From this version on all configuration settings are stored in {{ic|/etc/openldap/slapd.d/}}.}}<br />
<br />
To store the recent changes in {{ic|slapd.conf}} to the new {{ic|slapd-config}} configuration settings, we have to delete the old configuration files first:<br />
<br />
# rm -rf /etc/openldap/slapd.d/*<br />
<br />
<br />
(if you do not have a database yet, you might need to create one by starting and stopping the {{ic|slapd.service}} [[systemd#Using units|using systemd]] )<br />
<br />
Then we generate the new configuration with:<br />
<br />
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/<br />
<br />
The above command has to be run every time you change {{ic|slapd.conf}}. Check if everything succeeded. Ignore message "bdb_monitor_db_open: monitoring disabled; configure monitor database to enable". <br />
<br />
Change ownership recursively on the new files and directory in /etc/openldap/slapd.d:<br />
<br />
# chown -R ldap:ldap /etc/openldap/slapd.d<br />
<br />
{{note|Index the directory after you populate it. You should stop slapd before doing this.<br />
# slapindex<br />
# chown ldap:ldap /var/lib/openldap/openldap-data/*<br />
}}<br />
<br />
Finally, start the slapd daemon with {{ic|slapd.service}} using systemd.<br />
<br />
=== The client ===<br />
The client config file is located at {{ic|/etc/openldap/ldap.conf}}. <br />
<br />
It is quite simple: you'll only have to alter {{ic|BASE}} to reflect the suffix of the server, and {{ic|URI}} to reflect the address of the server, like:<br />
<br />
{{hc|/etc/openldap/ldap.conf|2=<br />
BASE dc=example,dc=com<br />
URI ldap://localhost<br />
}}<br />
<br />
If you decide to use SSL:<br />
<br />
* The protocol (ldap or ldaps) in the {{ic|URI}} entry has to conform with the slapd configuration <br />
* If you decide to use self-signed certificates, add a {{ic|TLS_REQCERT allow}} line to {{ic|ldap.conf}}<br />
<br />
=== Test your new OpenLDAP installation ===<br />
<br />
This is easy, just run the command below:<br />
$ ldapsearch -x '(objectclass=*)'<br />
<br />
Or authenticating as the rootdn (replacing {{ic|-x}} by {{ic|-D <user> -W}}), using the example configuration we had above:<br />
$ ldapsearch -D "cn=root,dc=example,dc=com" -W '(objectclass=*)'<br />
<br />
Now you should see some information about your database.<br />
<br />
=== OpenLDAP over TLS ===<br />
{{Note|[http://web.archive.org/web/20130211222328/http://www.openldap.org/pub/ksoper/OpenLDAP_TLS.html#4.0 upstream documentation] is much more useful/complete than this section}}<br />
<br />
If you access the OpenLDAP server over the network and especially if you have sensitive data stored on the server you run the risk of someone sniffing your data which is sent clear-text. The next part will guide you on how to setup an SSL connection between the LDAP server and the client so the data will be sent encrypted.<br />
<br />
In order to use TLS, you must have a certificate. For testing purposes, a ''self-signed'' certificate will suffice. To learn more about certificates, see [[OpenSSL]].<br />
<br />
{{Warning|OpenLDAP cannot use a certificate that has a password associated to it.}}<br />
<br />
==== Create a self-signed certificate ====<br />
To create a ''self-signed'' certificate, type the following:<br />
$ openssl req -new -x509 -nodes -out slapdcert.pem -keyout slapdkey.pem -days 365<br />
<br />
You will be prompted for information about your LDAP server. Much of the information can be left blank. The most important information is the common name. This must be set to the DNS name of your LDAP server. If your LDAP server's IP address resolves to example.org but its server certificate shows a CN of bad.example.org, LDAP clients will reject the certificate and will be unable to negotiate TLS connections (apparently the results are wholly unpredictable).<br />
<br />
Now that the certificate files have been created copy them to {{ic|/etc/openldap/ssl/}} (create this directory if it doesn't exist) and secure them. <br />
{{ic|slapdcert.pem}} must be world readable because it contains the public key. {{ic|slapdkey.pem}} on the other hand should only be readable for the ldap user for security reasons:<br />
# mv slapdcert.pem slapdkey.pem /etc/openldap/ssl/<br />
# chmod -R 755 /etc/openldap/ssl/<br />
# chmod 400 /etc/openldap/ssl/slapdkey.pem<br />
# chmod 444 /etc/openldap/ssl/slapdcert.pem<br />
# chown ldap /etc/openldap/ssl/slapdkey.pem<br />
<br />
==== Configure slapd for SSL ====<br />
Edit the daemon configuration file ({{ic|/etc/openldap/slapd.conf}}) to tell LDAP where the certificate files reside by adding the following lines:<br />
{{bc|<br />
# Certificate/SSL Section<br />
TLSCipherSuite HIGH:MEDIUM:-SSLv2<br />
TLSCertificateFile /etc/openldap/ssl/slapdcert.pem<br />
TLSCertificateKeyFile /etc/openldap/ssl/slapdkey.pem<br />
}}<br />
<br />
The TLSCipherSuite specifies a list of OpenSSL ciphers from which slapd will choose when negotiating TLS connections, in decreasing order of preference. In addition to those specific ciphers, you can use any of the wildcards supported by OpenSSL. '''NOTE:''' HIGH, MEDIUM, and +SSLv2 are all wildcards. <br />
<br />
{{Note|To see which ciphers are supported by your local OpenSSL installation, type the following: {{ic|openssl ciphers -v ALL}} }}<br />
<br />
==== Start slapd with SSL ====<br />
You will have to edit {{ic|slapd.service}} to change to protocol slapd listens on.<br />
<br />
First, disable {{ic|slapd.service}} if it's enabled.<br />
<br />
Then, copy the stock service to {{ic|/etc/systemd/system/}}:<br />
# cp /usr/lib/systemd/system/slapd.service /etc/systemd/system/<br />
<br />
Edit it, and add change {{ic|ExecStart}} to:<br />
{{hc|/etc/systemd/system/slapd.service|<nowiki><br />
ExecStart=/usr/bin/slapd -u ldap -g ldap -h "ldaps:///"</nowiki>}}<br />
<br />
Localhost connections don't need to use SSL. So, if you want to access the server locally you should change the {{ic|ExecStart}} line to:<br />
ExecStart=/usr/bin/slapd -u ldap -g ldap -h "ldap://127.0.0.1 ldaps:///"<br />
<br />
Then reenable and start it:<br />
# systemctl daemon-reload<br />
# systemctl restart slapd.service<br />
<br />
If {{ic|slapd}} started successfully you can enable it.<br />
<br />
{{Note|If you created a self-signed certificate above, be sure to add {{ic|TLS_REQCERT allow}} to {{ic|/etc/openldap/ldap.conf}} on the client, or it won't be able connect to the server.}}<br />
<br />
== Next Steps ==<br />
<br />
You now have a basic LDAP installation. The next step is to design your directory. The design is heavily dependent on what you are using it for. If you are new to LDAP, consider starting with a directory design recommended by the specific client services that will use the directory (PAM, [[Postfix]], etc).<br />
<br />
A directory for system authentication is the [[LDAP Authentication]] article.<br />
<br />
A nice web frontend is [[phpLDAPadmin]].<br />
<br />
== Troubleshooting ==<br />
<br />
=== Client Authentication Checking ===<br />
If you can't connect to your server for non-secure authentication<br />
<br />
$ ldapsearch -x -H ldap://ldaservername:389 -D cn=Manager,dc=example,dc=exampledomain<br />
<br />
and for TLS secured authentication with:<br />
<br />
$ ldapsearch -x -H ldaps://ldaservername:636 -D cn=Manager,dc=example,dc=exampledomain<br />
<br />
=== LDAP Sserver Stops Suddenly ===<br />
<br />
If you notice that slapd seems to start but then stops, you may have a permission issue with the ldap datadir. Try running:<br />
<br />
# chown ldap:ldap /var/lib/openldap/openldap-data/*<br />
<br />
to allow slapd write access to its data directory as the user "ldap"<br />
<br />
== See Also ==<br />
* [http://www.openldap.org/doc/admin24/ Official OpenLDAP Software 2.4 Administrator's Guide]<br />
* [[phpLDAPadmin]] is a web interface tool in the style of phpMyAdmin.<br />
* [[LDAP Authentication]]<br />
* {{AUR|apachedirectorystudio2}} from the [[Arch User Repository]] is an Eclipse-based LDAP viewer. Works perfect with OpenLDAP installations.</div>Aibo