There were no detailed pictures of the xBAND for Super Famicom/Super Nintendo. So I thought I’d share mine.
Gigabyte ITE IT5701/ 5702 Firmware Archive
Firmware Archive for Gigabyte ITE IT5701/ 5702. This firmware is responsible for Monitoring, RGB, Fans etc.
1.0.0.4: Download
SHA256: 83D9AAC6F7076C4B641648978D996C28A4956AAC7A3C709E22C83C07D1BE7FD0
1.0.0.7: Download
SHA256: E7FCF0F3BBB3A20FBAF34BE6DE6337CC2D3F91A362D6BBFD045A59E211C3F950
1.0.0.9: Download
SHA256: AD4B180827758518CB10904E8EF38FC9F85076C40B59A3AEE0157BDD8BF73F85
Speed-Up/Tune Synology DSM with HDD & SSD
Did you know the operating system of your Synology named DSM is split in a RAID1 on all attached drives? In RAID1 data is read from all drives but what if we can get those jucy short access times from an attached SSD?
Synology structures the system in the following manner:
/dev/md0 – Operating System
/dev/md1 – Swap Space
/dev/mdx – Your Volumes/Storage Pools
To view your current layout you have to logon via SSH and become root (sudo -i). Running ‘cat /proc/mdstat’ shows the following output:
Personalities : [raid1] [raid6] [raid5] [raid4] [raidF1]
md2 : active raid5 sda5[0] sdd5[3] sdc5[4] sdb5[1]
XX blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
md3 : active raid1 sdf5[0]
XX blocks super 1.2 [1/1] [U]
md1 : active raid1 sda2[0] sdf2[4] sdb2[3] sdc2[2] sdd2[1]
XX blocks [5/5] [UUUUU]
md0 : active raid1 sda1[0] sdf1[4] sdb1[3] sdc1[2] sdd1[1]
XX blocks [5/5] [UUUUU]
In my case you can see four raidsets. DSM, Swap, Volume 1 and Volume 2. However one of those drives is a SSD (sdf) and as you can see part of md0 and md1.
mdadm (casual linux software raid) allows you to configure a RAID with the attribute ‘writemostly’.
This is valid for RAID1 only and means that the ‘md’ driver will avoid reading from these devices if at all possible. This can be useful if mirroring over a slow link.
Source: https://linux.die.net/man/8/mdadm
Writemostly means, please only write to this drive and don’t try to read. You can achieve that by flagging all rotational drives on md0 (DSM) and md1 (Swap Space) with ‘writemostly’. In my case sda, sdb, sdc and sdd, as sdf is the SSD. We can achieve that with running the following command for each drive in each raidset:
echo writemostly > /sys/block/md0/md/dev-sda1/state
echo writemostly > /sys/block/md0/md/dev-sdb1/state
echo writemostly > /sys/block/md0/md/dev-sdc1/state
echo writemostly > /sys/block/md0/md/dev-sdd1/state
echo writemostly > /sys/block/md1/md/dev-sda2/state
echo writemostly > /sys/block/md1/md/dev-sdb2/state
echo writemostly > /sys/block/md1/md/dev-sdc2/state
echo writemostly > /sys/block/md1/md/dev-sdd2/state
Why is it sda1 and sda2? sda is the physical drive and sda1 is the first partition, sda2 the second and so on. After you did that you will the the following out put of ‘cat /proc/mdstat’:
Personalities : [raid1] [raid6] [raid5] [raid4] [raidF1]
md2 : active raid5 sda5[0] sdd5[3] sdc5[4] sdb5[1]
XX blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
md3 : active raid1 sdf5[0]
XX blocks super 1.2 [1/1] [U]
md1 : active raid1 sda2[0](W) sdf2[4] sdb2[3](W) sdc2[2](W) sdd2[1](W)
XX blocks [5/5] [UUUUU]
md0 : active raid1 sda1[0](W) sdf1[4] sdb1[3](W) sdc1[2](W) sdd1[1](W)
XX blocks [5/5] [UUUUU]
Saw the (W) after all rotational drives? This shows that mdadm will only try to do write operations on those drives and no reads.
After a restart you can verify your startup times with ‘cat /var/log/synobootup.log’:Startup finished in 13.354s (kernel) + 2min 46.683s (userspace) = 3min 38ms.
You can do additional verification by running ‘mdadm -D /dev/md0’. -D for detail.
/dev/md0:
Version : 0.90
Creation Time : Fri Jul 20 15:51:28 2018
Raid Level : raid1
Array Size : XX (XX GiB XX GB)
Used Dev Size : XX (XX GiB XX GB)
Raid Devices : 5
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jul 7 21:17:33 2024
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
UUID xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
Events : 0
Number Major Minor RaidDevice State
0 8 1 0 active sync writemostly /dev/sda1
1 8 49 1 active sync writemostly /dev/sdd1
2 8 33 2 active sync writemostly /dev/sdc1
3 8 17 3 active sync writemostly /dev/sdb1
4 8 81 4 active sync /dev/sdf1
You will see here the ‘writemostly’ flag on all rotational drives. You can always return to the previous state with the following command for each drive:
echo -writemostly > /sys/block/mdX/md/dev-sdX1/state
The result is Synology DSM “mostly” reads from your SSD. “Mostly” because it will start to read from rotational drives again if your SSD(s) fail.
Cheers
Dreamcast – Skies of Arcadia – PAL – 60Hz – VGA Patch
During my holidays in Japan I bought a SEGA Dreamcast. To get the most out of it I bought a VGA cable to benefit from 480p and clear picture on my LCD. However Skies of Arcadia is one of those titles that does not support being run in VGA Mode.
I found a patch on this website Skies of Arcadia EURO – 60Hz/VGA Patch involving extracting the image, patching files, patching vga mode an rebuilding the image. I think this is actually a lot of work with a lot of separate tools involved.
I created a patch for the Universal Dreamcast Patcher which allows you directly applying the patch to your GDI Images.
- Download Universal Dreamcast Patcher (6MB – Local Mirror)
- Download the Patch: Download (9KB)
- Open the Patcher and apply the Patches to your GDI Images
This can be applied to your own dump/copy or TOSEC.
- Skies of Arcadia v1.000 (2001)(Sega)(PAL)(M4)[!]
Running Sierra Wireless EM7455 on FreeBSD/OPNSense/pfSense
After some dsl outages I decided to use the SIM card and M.2 slot on the mainboard of my firewall for a LTE WAN failover. The list of supported 4G modems on FreeBSD 13 is short, however it has been extended recently with 13.2 BETA.
I decided getting an Sierra Wireless LTE card as they have an extended documentation and the is a FreeBSD Bug ( Bug 234578 ) on their bugtracker to support EM7455. This card is also known as Dell AirPrime DW5811e or Lenovo Thinkpad EM7455.
The next steps guide you through my experience getting this card running on FreeBSD in serial mode. This technically can work with every Sierra Wireless card. You can convert them to accept qmi mode and AT commands.
The first steps are mentioned in within the bug on FreeBSDs bugtracker. You have to boot a Linux System (I recommend a Debian based distribution, use Rufus with persistent storage) and install the following packages:
sudo apt update
sudo apt-get install libqmi-glib5 libqmi-proxy libqmi-utils curl libuuid-tiny-perl libipc-shareable-perl libjson-perl minicom build-essential -y
Afterwards you may want to stop the ModemManager to not interfere during the process:
systemctl disable ModemManager
systemctl stop ModemManager
Afterwards you want to download the following script and execute it with the appropriate mode. Its mode 6 for the EM7455, it can be different for other cards. You want to change the card to QMI Mode. The device will show up as /dev/cdc-wdm0 or /dev/cdc-wdm1
Download: swi_setusbcomp.pl
sudo perl swi_setusbcomp.pl --device=/dev/cdc-wdm0 --usbcomp=6
Running in MBIM mode (driver=cdc_mbim)
MBIM OPEN succeeded
QMI msg '0x0021' returned status = 1
MBIM QMI support verified
supports 17 QMI subsystems:
0x00 (1.5) 'QMI_CTL' - Control service
0x01 (1.12) 'QMI_WDS' - Wireless data service
0x02 (1.7) 'QMI_DMS' - Device management service
0x03 (1.21) 'QMI_NAS' - Network access service
0x04 (1.3) 'QMI_QOS' - Quality of service, err, service
0x05 (1.4) 'QMI_WMS' - Wireless messaging service
0x06 (1.10) 'QMI_PDS' - Position determination service
0x07 (1.1) 'QMI_AUTH' - Authentication service
0x08 (1.1) 'QMI_AT' - AT command processor service
0x09 (2.1) 'QMI_VOICE' - Voice service
0x0a (2.0) 'QMI_CAT2' - Card application toolkit service (new)
0x0b (1.4) 'QMI_UIM' - UIM service
0x0c (1.4) 'QMI_PBM' - Phonebook service
0x11 (1.0) 'QMI_SAR' - Specific absorption rate service
0x1a (1.0) 'QMI_WDA' - Wireless data administrative service
0xe0 (2.0) 'QMI_CAT' - Card application toolkit service
0xe1 (1.0) 'QMI_RMS' - Remote management service
QMI msg '0x0022' returned status = 1
Got QMI DMS client ID '4'
QMI msg '0x555b' returned status = 1
Current USB composition: 14
USB compositions:
0 - HIP DM NMEA AT MDM1 MDM2 MDM3 MS NOT SUPPORTED
1 - HIP DM NMEA AT MDM1 MS NOT SUPPORTED
2 - HIP DM NMEA AT NIC1 MS NOT SUPPORTED
3 - HIP DM NMEA AT MDM1 NIC1 MS NOT SUPPORTED
4 - HIP DM NMEA AT NIC1 NIC2 NIC3 MS NOT SUPPORTED
5 - HIP DM NMEA AT ECM1 MS NOT SUPPORTED
6 - DM NMEA AT QMI SUPPORTED
7 - DM NMEA AT RMNET1 RMNET2 RMNET3 SUPPORTED
8 - DM NMEA AT MBIM SUPPORTED
9 - MBIM SUPPORTED
10 - NMEA MBIM SUPPORTED
11 - DM MBIM SUPPORTED
12 - DM NMEA MBIM SUPPORTED
13 - Config1: comp6 Config2: comp8 SUPPORTED
* 14 - Config1: comp6 Config2: comp9 SUPPORTED
15 - Config1: comp6 Config2: comp10 SUPPORTED
16 - Config1: comp6 Config2: comp11 SUPPORTED
17 - Config1: comp6 Config2: comp12 SUPPORTED
18 - Config1: comp7 Config2: comp8 SUPPORTED
19 - Config1: comp7 Config2: comp9 SUPPORTED
20 - Config1: comp7 Config2: comp10 SUPPORTED
21 - Config1: comp7 Config2: comp11 SUPPORTED
22 - Config1: comp7 Config2: comp12 SUPPORTED
QMI msg '0x555c' returned status = 1
QMI msg '0x0023' returned status = 1
You need to reset the Modem by restarting or unplugging. Now you have the chance doing a firmware update (Downlaod from Sierra Wireless) and execute it with the following commands. While the following IDs for EM7455 match 1199:9071 = Generic Sierra Wireless, 1199:9078 or 9079 for Lenovo EM7455 and 413C:81B6 for Dell.
deviceid=`lsusb | grep -i -E '1199:9071|1199:9079|413C:81B6' | awk '{print $6}'`
sudo qmi-firmware-update --update -d "$deviceid" SWI9X30C_<Version>.cwe SWI9X30C_<Version>_<Generic/Provider>_<Version2>.nvu
You will find the modem as /dev/ttyUSB2 and can access it with minicom now. Technically you can already boot back to FreeBSD and use cu -l /dev/cuaUX.2 instead minicom -D /dev/ttyUSB2.
Now we can send AT commands to the modem an convert it to a Generic Sierra Wireless Modem with the following commands. While ENTERCND enables protected commands.
AT!ENTERCND="A710"
OK
AT!USBPID=9071,9070
OK
AT!USBVID=1199
OK
AT!USBPRODUCT="EM7455"
OK
AT!PRIID="9904802","001.001","Generic-Laptop"
OK
Afterwards you maybe able to get a signal info with “AT!GSTATUS?
” (assuming the SIM card has no PIN). If this is the case, you’re done and can continue to follow OPNSenses Guide: Configuring Cellular Modems — OPNsense documentation
If this is not the case you have to disable FCC Auth to get this up and running.
AT!GSTATUS?
!GSTATUS:
Current Time: 59588 Temperature: 38
Reset Counter: 8 Mode: LOW POWER MODE
FCC Auth can only be turned off within the developer menu. The serial can be generated on any device. Send the following commands to you card.
Check for FCCAuth:
AT!PCFCCAUTH?
NV Setting: 1
FCC Auth Enabled: 1
FCC Lock State: 1
OK
Generate Challange:
AT!OPENLOCK?
ABCDEFGHIJ123456
OK
Checkout the following github respository on any Linux system and generate your access key. MDM9x30 matches the EM7455, you can find the full list here: Supported Devices
git clone https://github.com/bkerler/edl
edl/edclient/Tools/sierrakeygen -l ABCDEFGHIJ123456 -d MDM9x30
AT!OPENLOCK="123456ABCDEFGHIJ"
OK
AT!PCFCCAUTH=0
OK
AT!PCFCCAUTH?
NV Setting: 0
FCC Auth Enabled: 1
FCC Lock State: 1
OK
AT!RESET
OK
After a reset the result should be the following:
AT!ENTERCND="A710"
OK
AT!PCFCCAUTH?
NV Setting: 0
FCC Auth Enabled: 0
FCC Lock State: 0
OK
Afterwards the output of “AT!GSTATUS?” should show the reception:
AT!GSTATUS?
!GSTATUS:
Current Time: 59588 Temperature: 38
Reset Counter: 8 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B1 LTE bw: 20 MHz
LTE Rx chan: 100 LTE Tx chan: 18100
LTE CA state: NOT ASSIGNED
EMM state: Registered Normal Service
RRC state: RRC Idle
IMS reg state: No Srv
PCC RxM RSSI: -72 RSRP (dBm): -104
PCC RxD RSSI: -65 RSRP (dBm): -97
Tx Power: 0 TAC: 1234 (12345)
RSRQ (dB): -11.6 Cell ID: 12345678 (12345678)
SINR (dB): 0.8
OK
Sources:
EM7455, Deactivate Low-Power-Mode – IoT Modules / MC/EM Series – Sierra Wireless Forum
EM Series (sierrawireless.com)
234578 – Support for Sierra Wireless EM7455 modem (freebsd.org)
Update Firmware On EM7455 Chip And Set Device ID To Sierra Wireless | ThinkPenguin.com
edl/sierrakeygen_README.md at master · bkerler/edl (github.com)
danielewood/sierra-wireless-modems: EM7565/EM7455/MC7455 – Modem Configuration (github.com)
Recover ESXi 7.x Bootbank
During the the installation of a VMware VIB file I lost connectivity to my usb stick containing the installation of esxi. Facing the following errors within ESXi Log:
Could not install image profile: Failed to copy files from /tmp/stagebootbank to /altbootbank: [Errno 5] Input/output error
Device or filesystem with identifier mpx.vmhba32:C0:T0:L0 has entered the All Paths Down Timeout state after being in the All Paths Down state for 140 seconds. I/Os will now be fast failed.
Lost connectivity to storage device mpx.vmhba32:C0:T0:L0. Path vmhba32:C0:T0:L0 is down. Affected datastores: BOOTBANK1″, “BOOTBANK2”, “LOCKER-624c4a59-8a3bf37a-8986-e435c87de92a.
After a reboot I saw the error message “BANK5: not a VMware boot bank” however BOOTBANK2 was intact so ESXi was booting with last working state from BOOTBANK2 (BANK6 in my case). Checking with “ls /altbootbank” I saw that alot of files where missing. I started to check if the filesystem was damaged with:
#Check ESXi bootbank device
vmkfstools -P /altbootbank
#Check and repair filesystem
dosfsck -r -w /dev/disks/mpx.vmhba32:C0:T0:L0:5
While mpx.vmhba32:C0:T0:L0:5 is the output of the previous command and :5 is the partition number. So :5 is BANK5 and :6 is BANK6.
Afterwards you can completely copy over the contents of /bootbank to /altbootbank with “cp”. You need to edit boot.cfg and modify “updated” to a number lower (-1). While the next VIB or update/patch you install on esxi will completely maintain the bootbanks again.
Microsoft Edge URI List – Open Office Apps without Prompt for SharePoint
By default Microsoft Edge always prompts when it opens external applications like Microsoft Word or Microsoft OneDrive. You may want this prompt to disappear for your trusted local SharePoint 2013/2016/2019/Subscription Farm.
The list of URI Schemes is published here: Office URI Schemes | Microsoft Docs
I found out these URI schemes are not complete and in some cases not valid anymore.
So how to configure this now? Add the Microsoft Edge Group Policies to your domain controller and search for the following settings: “Define a list of protocols that can launch an external application from listed origins without prompting the user”.
This has the be in json format and will look like the following:
[{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-word"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"msoutlook"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-excel"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-powerpoint"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-access"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-project"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"ms-visio"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"onenote"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"viewinfileexplorer"},{"allowed_origins":["sharepoint.example.com","officeonline.example.com"],"protocol":"odopen"}]
The following URI Schemes are being used here:
URI Scheme | Descriptipon |
ms-word | Microsoft Word |
msoutlook | Microsoft Outlook (not documented) |
ms-excel | Microsoft Excel |
ms-powerpoint | Microsoft PowerPoint |
ms-access | Microsoft Access |
ms-project | Microsoft Project |
ms-visio | Microsoft Visio |
onenote | Microsoft OneNote (Phat Client) |
viewinfileexplorer | Explorer View (not documented) |
odopen | Microsoft OneDrive (not documented) |
Boot Batocera from HDD/SSD
Recently I acquired a Fujitsu Futro S740. Its sold as a thinclient, but is technically a full blown pc with a small SSD (8 or 16GB). I replaced it with a M.2 2280 B+M Key SSD and planned to use it as “Retrostation”. I tried recalbox, however the S740 only allows GPT/EFI boot, there is no legacy mode anymore. So I tried batocera. It boots well from the USB Stick but after installing to the SSD from the Menu it doesn’t boot.
You can fix this by booting a Live Linux Distribution of your choice. I used Ubuntu MATE, can be downloaded here and burned to an USB Flashdrive with Rufus. Afterwards boot with the USB Flashdrive and then you just register it to the BIOS via Terminal (Start Menu -> System Tools -> Terminal):
efibootmgr -c -d /dev/sda -p 1 -L "Batocera" -l '\EFI\BOOT\bootx64.efi'
The command won’t work from within Batocera, using a bootable linux of an USB stick is mandatory.
Reboot and have fun.
Synology iSCSI/LUN SSD Cache with DSM 7.0
UPDATE: Seems to be gone with ‘Flashcache Version : flashcache-1.0-2021-10-18-20:42’ on 7.0.1. 🙁
With DSM 7.0 Synology removed the feature of accelerating Block-Level LUNs. This is an interesting feature for iSCSI LUNs used for Hypervisors like VMware ESX.
Synology DSM 7.0 Release Notes:
- Creating SSD caches on block-level LUNs is no longer supported. Existing SSD caches for block LUNs will function normally after the update.
However this is valid but you can re-enable acceleration for Block-Level iSCSI LUNs.
Logon to your Synology NAS via SSH and get the root shell via “sudo -i”. Execute the following command to re-enable the cache.
/var/packages/ScsiTarget/target/bin/synoiscsihook --flashcache_enable
This works as long as you’re not rebooting. You can create a task within DSM with trigger at “Boot-Up” to execute this command line to enable the Cache again.
Install EWSManagedAPI NuGet (GitHub) for SharePoint 2013/2016/2019
Recently I tried to enable SiteMailboxes for SharePoint 2019. The documentation (Configure site mailboxes in SharePoint Server – SharePoint Server | Microsoft Docs) claims to download EWSManagedAPI.msi but this results in a 404, as this project moved to GitHub (OfficeDev/ews-managed-api (github.com)). However on GitHub there is no executable or MSI to install.
You can install the NuGet Package (NuGet Gallery | Microsoft.Exchange.WebServices 2.2.0) on your SharePoint Server with the following command:
Install-Package Microsoft.Exchange.WebServices
Basically you are done and should find the NuGet Package at the following location:
C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.Exchange.WebServices.2.2\lib\40\
However the Setup Scripts within the SharePoint Documentation will fail as the DLLs are not registered in GAC (Globaly Assembly Cache).
Verfiy with:
$assm = [System.Reflection.Assembly]::LoadFile("C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.dll")
$assm.GlobalAssemblyCache
This should return “False”. Claim gacutil.exe from a Visual Studio (Free Community Edition maybe fine, check Terms and License) Installation with for ex. Windows 10 SDK. Copy it over and run:
gacutil.exe -i C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.dll
gacutil.exe -i C:\Program Files\PackageManagement\NuGet\Packages\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.Auth.dll
Restart your powershell console and rerun the commands above. It will return “True” and the Setup Scripts run through without an issue.
Recent Comments