[From an email to the gluster-devel mailinglist] today I have merged support for GlusterFS 3.2 and 3.3 into one Wireshark
'dissector'. The packages with date 20120516 in the version support both
the current stable 3.2.x version, and the latest 3.3.0qa41. Older 3.3.0
versions will likely have issues due to some changes in the RPC-AUTH
protocol used. Updating to the latest qa41 release (or newer) is
recommended anyway. I do not expect that we'll add support for earlier
3.3.0 releases.
My repository with packages for RHEL-6 and Fedora-17 contains a .repo
file for yum (save it in /etc/yum.repos.d):
- http://repos.fedorapeople.org/repos/devos/wireshark-gluster/
RPMs for other Fedora or RHEL versions can be provided on request. Let
me know if you need an other version (or architecture).
Single patches for some different Wireshark versions are available from
https://github.com/nixpanic/gluster-wireshark.
A full history of commits can be found here:
- https://github.com/nixpanic/gluster-wireshark-1.4/commits/master/
(Support for GlusterFS 3.3 was added by Akhila and Shree, thanks!)
Please test and report success and problems, file a issues on github:
https://github.com/nixpanic/gluster-wireshark-1.4/issues
Some functionality is still missing, but with the current status, it
should be good for most analysing already. With more issues filed, it
makes it easier to track what items are important.
Of course, you can also respond to this email and give feedback 
After some more cleanup of the code, this dissector will be passed on
for review and inclusion in the upstream Wireshark project. Some more
testing results is therefore much appreciated.
/var/log/messages. This is very impractical for troubleshooting. The command systemd-journalctl --no-tail shows that rsyslog.service fails to start correctly. Bummer!rsyslogd:/etc/systemd/system/syslog.service/etc/systemd/system/multi-user.target.wants/rsyslog.service/usr/lib/systemd/system/rsyslog.service) that comes with the rsyslogd package: [Unit]
Description=System Logging Service
[Service]
EnvironmentFile=-/etc/sysconfig/rsyslog
ExecStartPre=/bin/systemctl stop systemd-kmsg-syslogd.service
ExecStart=/sbin/rsyslogd -n $SYSLOGD_OPTIONS
Sockets=syslog.socket
StandardOutput=null
[Install]
WantedBy=multi-user.target
All looks pretty neat, there is no very obvious issue here. However, on checking what this systemd-kmsg-syslogd.service is and does, I seem to be unable to find the unit file that defines this service. Just guessing, but if the ExecStartPre fails, it may not even try to start the rsyslog-daemon. Just commenting out the ExecStartPre is Not Done with the systemd configuration files. The advised way to change unit files which live under /usr/lib/systemd should be copied to the /etc/systemd/* directories instead: # cd /etc/systemd/system
# rm syslog.service
# ln -s /usr/lib/systemd/system/rsyslog.service syslog.service
# cd multi-user.target.wants
# rm rsyslog.service
# ln -s ../syslog.service rsyslog.service
Now is is possible to change the unit file, without changing a file that may be replaced by a update of the rsyslog package. Commenting out the ExecStartPre in the new copy of syslog.service and rebooting, makes syslog work for me and /var/log/messages contains all the logs as expected. systemctl is not very usable: # systemctl status rsyslog.service
Failed to get D-Bus connection: No connection to service manager.
Although D-Bus is running: # ps v -C dbus-daemon
PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
1474 ? Ss 0:00 6 265 2770 1436 0.3 /bin/dbus-daemon --system --address=systemd: --nofork --systemd-activation
nm-connection-editor by selecting the 'Available to all users' option. Copying the configuration files to the Fedora 17 rootfs image made my wireless work immediately./etc/sysconfig/network-scripts/ifcfg-MyWLAN where MyWLAN is just a name for your connectionESSID="MyESSID"
MODE=Managed
KEY_MGMT=WPA-PSK
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=MyWLAN
UUID=57fc7596-af3e-48af-8d90-1a06783083d7
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
Of course it is needed to change at least the NAME and the ESSID. KEY_MGMT can probably have other values, but there is no need for me to research that atm./etc/sysconfig/network-scripts/keys-MyWLANWPA_PSK="My Top Secret Password"
This password will likely not work anywhere, just change it to whatever is needed.nm-tool which displays the detected networks and some more details.nmcli con up MyWLAN in case you want to force connecting to the WLAN configured under /etc/sysconfig/network-scripts/ifcfg-MyWLAN.http://repos.fedorapeople.org/repos/devos/wireshark-gluster/.FIXME or similar notes. These are mainly reminders for myself, but also should be helpful for people trying the packages and suggesting improvements. Just by reading the Gluster sources, it is not always clear what the specific fields in the communication should be called in a user friendly way.FIXME in the main .c file).$ tshark -r gluster-communication.cap 'tcp.len > 0' | head
7 0.002572 192.168.122.184 -> 192.168.122.137 Gluster Dump V1 DUMP Call
8 0.002633 192.168.122.184 -> 192.168.122.137 Gluster Dump V1 DUMP Call
11 0.002909 192.168.122.137 -> 192.168.122.184 Gluster Dump V1 DUMP Reply (Call In 7)
12 0.002918 192.168.122.137 -> 192.168.122.184 Gluster Dump V1 DUMP Reply (Call In 8)
15 0.003104 192.168.122.184 -> 192.168.122.137 Gluster Portmap V1 PORTBYBRICK Call
16 0.003158 192.168.122.184 -> 192.168.122.137 Gluster Portmap V1 PORTBYBRICK Call
17 0.003298 192.168.122.137 -> 192.168.122.184 Gluster Portmap V1 PORTBYBRICK Reply (Call In 15)
18 0.003310 192.168.122.137 -> 192.168.122.184 Gluster Portmap V1 PORTBYBRICK Reply (Call In 16)
31 3.013909 192.168.122.184 -> 192.168.122.137 Gluster Dump V1 DUMP Call
32 3.013965 192.168.122.184 -> 192.168.122.137 PCEP Unknown Message (0). ~/.wireshark/disabled_protos file. Finding the correct names of a protocol isn't always straight forward. Use Wireshark to graphically create the file is the easiest, it also takes care of disabling the protocols that are possibly encapsulated. In Wiresharktshark should recognize all traffic to and from port 24007 as belonging to one of the Gluster protocols. I have only tested the Wireshark dissectors on Gluster 3.2.5, later releases use some newer versions of some protocols and these may not be detected yet.
It is not possible to write with the current set of plugins. brasero --help shows that there is a --help-brasero-burn option. Giving that a try, dumps an immense list of things on the console. This includes the following:(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:452: loading /usr/lib64/brasero/plugins/libbrasero-vob.so
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin.c:1041: Module encountered an error while registering its capabilities:
"ffenc_mpeg2video" element could not be created
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:481: Load failure, no GType was returned "ffenc_mpeg2video" element could not be created(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:452: loading /usr/lib64/brasero/plugins/libbrasero-dvdcss.so
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin.c:1041: Module encountered an error while registering its capabilities:
Encrypted DVD: please install libdvdcss version 1.2.x
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:481: Load failure, no GType was returned Encrypted DVD: please install libdvdcss version 1.2.x
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:452: loading /usr/lib64/brasero/plugins/libbrasero-dvdauthor.so
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin.c:1041: Module encountered an error while registering its capabilities:
"dvdauthor" could not be found in the path
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:481: Load failure, no GType was returned "dvdauthor" could not be found in the path(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:452: loading /usr/lib64/brasero/plugins/libbrasero-vcdimager.so
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin.c:1041: Module encountered an error while registering its capabilities:
"vcdimager" could not be found in the path
(brasero:19298): BraseroBurn-DEBUG: At burn-plugin-manager.c:481: Load failure, no GType was returned "vcdimager" could not be found in the pathbrasero --brasero-burn-debug still misses something:(brasero:19508): BraseroBurn-DEBUG: At burn-plugin-manager.c:452: loading /usr/lib64/brasero/plugins/libbrasero-vob.so
(brasero:19508): BraseroBurn-DEBUG: At burn-plugin.c:1041: Module encountered an error while registering its capabilities:
"mplex" element could not be created
(brasero:19508): BraseroBurn-DEBUG: At burn-plugin-manager.c:481: Load failure, no GType was returned "mplex" element could not be createdmplex. All GStreamer plugins seem to be located in /usr/lib64/gstreamer-0.10, and installing the mplex plugin with yum seems to work:# yum install /usr/lib64/gstreamer-0.10/libgstmplex.so
Loaded plugins: refresh-packagekit, rhnplugin
Setting up Install Process
...
Resolving Dependencies
--> Running transaction check
---> Package gstreamer-plugins-bad.x86_64 0:0.10.19-3.el6.rf will be installed
--> Processing Dependency: libxvidcore.so.4()(64bit) for package: gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64
--> Processing Dependency: libmms.so.0()(64bit) for package: gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64
--> Processing Dependency: libmusicbrainz.so.4()(64bit) for package: gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64
--> Processing Dependency: libamrwb.so.3()(64bit) for package: gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64
--> Processing Dependency: libcdaudio.so.1()(64bit) for package: gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64
--> Running transaction check
---> Package amrwb.x86_64 0:7.0.0.3-1.el6.rf will be installed
---> Package libcdaudio.x86_64 0:0.99.12p2-13.el6 will be installed
---> Package libmms.x86_64 0:0.5-1.el6.rf will be installed
---> Package libmusicbrainz.x86_64 0:2.1.5-11.1.el6 will be installed
---> Package xvidcore.x86_64 0:1.2.2-1.el6.rf will be installed
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Installing:
gstreamer-plugins-bad x86_64 0.10.19-3.el6.rf rpmforge 1.2 M
Installing for dependencies:
amrwb x86_64 7.0.0.3-1.el6.rf rpmforge 180 k
libcdaudio x86_64 0.99.12p2-13.el6 epel 39 k
libmms x86_64 0.5-1.el6.rf rpmforge 60 k
libmusicbrainz x86_64 2.1.5-11.1.el6 rhel-x86_64-workstation-6 88 k
xvidcore x86_64 1.2.2-1.el6.rf rpmforge 555 k
Transaction Summary
========================================================================================================================================================================
Install 6 Package(s)
Total download size: 2.1 M
Installed size: 7.4 M
Is this ok [y/N]: y
Downloading Packages:
...
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libcdaudio-0.99.12p2-13.el6.x86_64 1/6
Installing : libmms-0.5-1.el6.rf.x86_64 2/6
Installing : amrwb-7.0.0.3-1.el6.rf.x86_64 3/6
Installing : libmusicbrainz-2.1.5-11.1.el6.x86_64 4/6
Installing : xvidcore-1.2.2-1.el6.rf.x86_64 5/6
Installing : gstreamer-plugins-bad-0.10.19-3.el6.rf.x86_64 6/6
Installed:
gstreamer-plugins-bad.x86_64 0:0.10.19-3.el6.rf
Dependency Installed:
amrwb.x86_64 0:7.0.0.3-1.el6.rf libcdaudio.x86_64 0:0.99.12p2-13.el6 libmms.x86_64 0:0.5-1.el6.rf libmusicbrainz.x86_64 0:2.1.5-11.1.el6
xvidcore.x86_64 0:1.2.2-1.el6.rf
Complete!.tar.bz2 and extracting it to the first partition (formatted as ext3) of an USB-disk should make a good start for any Pogoplug related development.uImage) and initrd.img (uInitrd) under /boot on the USB-disk./boot/uImage and no /boot/uInitrd. Booting a Pogoplug with the GuruPlug kernel-2.6.36.1 seems to work well:Linux version 2.6.36.1 (root@Xion) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #1 PREEMPT Mon Nov 29 06:21:49 EST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell SheevaPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 65536
free_area_init_node: node 0, pgdat c058a5f4, node_mem_map c065e000
Normal zone: 512 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 65024 pages, LIFO batch:15
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootwait rootfstype=ext2 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 253380k/253380k available, 8764k reserved, 0K highmem
...
.config based on the kernel from the Angstrom BeagleBoard Demo. The original provided kernel with gether did not boot on my (loaned) BeagleBoard Rev B5. Only after disabling USB completely (kernel parameter nousb). As gether is the part I am most interested in, booting without USB is pretty pointless. Fortunately the kernel provides /proc/config.gz. Using this configuration, some little tuning (i.e. turning off the staging-modules because they do not compile), a kernel and suitable modules could be built./etc/dracut.conf allows creating an initramfs.img. Before u-boot can use the initramfs.img, it needs to be converted with a command like:# mkimage -A arm -O linux -T ramdisk -C none -e 0 -a 0 -n initramfs-2.6.38 -d /boot/initramfs-2.6.38.img /boot/uinitramfs-2.6.38.img
OMAP3 beagleboard.org # printenv bootargs
bootargs=console=ttyO2,115200n8 root=/dev/mmcblk0p2 ro
OMAP3 beagleboard.org # printenv bootcmd
bootcmd=mmcinit ; fatload mmc 0:1 0x80000000 uimage-2.6.38 ; fatload mmc 0:1 0x81600000 uinitramfs-2.6.38.img ; bootm 0x80000000 0x81600000
OMAP3 beagleboard.org # boot
[ 0.334960] musb-hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
[ 0.335571] musb-hdrc musb-hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92
...
[ 4.824340] g_ether gadget: using random self ethernet address
[ 4.830505] g_ether gadget: using random host ethernet address
[ 4.837341] usb0: MAC ba:98:d2:e3:60:36
[ 4.841430] usb0: HOST MAC 4a:49:17:92:63:df
[ 4.846008] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[ 4.853027] g_ether gadget: g_ether ready
[ 4.857269] musb-hdrc musb-hdrc: MUSB HDRC host driver
[ 4.863220] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 2
[ 4.885742] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 4.892913] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 4.900543] usb usb2: Product: MUSB HDRC host driver
[ 4.905792] usb usb2: Manufacturer: Linux 2.6.38 musb-hcd
[ 4.911499] usb usb2: SerialNumber: musb-hdrc
...
[ 5.383911] g_ether gadget: full speed config #1: CDC Ethernet (ECM)
musb-hdrc is the controller-chip and the g_ether is the implementation of the USB-client side of the USB-over-Ethernet gadget. On my laptop the BeagleBoard gets detected as a "RNDIS/Ethernet Gadget" product from vendor "Linux 2.6.38 with musb-hdrc":usb 1-1: new high speed USB device using ehci_hcd and address 66
usb 3-1: new full speed USB device using uhci_hcd and address 45
usb 3-1: not running at top speed; connect to a high speed hub
usb 3-1: New USB device found, idVendor=0525, idProduct=a4a2
usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 3-1: Product: RNDIS/Ethernet Gadget
usb 3-1: Manufacturer: Linux 2.6.38 with musb-hdrc
cdc_ether 3-1:1.0: usb0: register 'cdc_ether' at usb-0000:00:1a.0-1, CDC Ethernet Device, 4a:49:17:92:63:df
usb0: no IPv6 routers present
device usb0 entered promiscuous mode
virbr0: topology change detected, propagating
virbr0: port 1(usb0) entering forwarding state
ifplugd-configuration which checks for usb0 devices and on a link, the usb0 is added to the virbr0 from libvirt so that BeagleBoard immediately gets access to the network./etc/sysconfig/network-scripts/ifcfg-usb0 is configured to request an IP-address over DHCP:DEVICE="usb0"
BOOTPROTO="dhcp"
ONBOOT="yes"
MACADDR="ba:98:d2:e3:60:36"
MACADDR in ifcfg-usb0 makes this happen. The g_ether kernel-module accepts a MAC-address as parameter, but as the module is builtin, this is not convenient (pass g_ether.dev_addr as kernel parameter, or echo it to /sys/module/g_ether/parameters/dev_addr).usb0 was the only thing left todo:# chkconfig network on
# ifup usb0
java-1.5.0-gcj-1.5.0.0-32.fc13.bootstrap.src.rpm in "138 minutes 22 seconds", yay!