Physical Drive Connection and Hardware Requirements
Power Down and Remove Drives: Ensure the ReadyNAS NV+ v2 is powered off. Gently remove all four 1 TB drives, labeling their bay order (1–4) to avoid confusion later.
Connect Drives to a Linux Computer: Attach the drives to a PC running Linux. You can connect them via standard SATA ports or use USB-to-SATA docking adapters (make sure 3.5″ disks have adequate power)diskinternals.com. All drives should be connected simultaneously if possible (the RAID array needs at least all but one drive intact).
No Special RAID Controller Needed: You do not need a dedicated RAID card or proprietary hardware. NETGEAR’s X-RAID2 is essentially a software-managed RAID (built on Linux mdadm RAID)forum.r-tt.com. A standard PC that can recognize the drives (through BIOS/OS) is sufficient. Ensure your SATA controller is in AHCI/standard mode (not set to RAID mode that might hide the drives). The “proprietary” aspect of X-RAID2 is mainly the expansion logic in the NAS’s firmware – the actual on-disk format is readable with normal Linux toolsforum.r-tt.com.
Avoid Writing to Drives: Treat the NAS drives as read-only sources for recovery. Do not initialize or format them if prompted by any OS. (Windows, for example, will show them as unformatted – do not agree to any format prompts.) In Linux, do not let any auto-repair or RAID sync run. The goal is to mount and copy data, not to alter the NAS disks. If any drive shows signs of failure (clicking, I/O errors), consider imaging it first (e.g. using ddrescue) to avoid stressing it further.
Why, all of a sudden the need of such a solution? Huge variety of different inventory which is scattered around a warehouse, shelves keep changing, boxes keep moving, items cannot get found. As a result the orders get cancelled. No good.
RFID labels allow for the items to be located without direct line of sight and mostly RFID software has the feature of “Find Item” by the RFID programmed tag.
I chose the path of Zebra hardware to make sure it is mainstream and most popular and supported. Made a research for devices and here’s what you’d need:
RFID compatible scanner. Mostly it would look as a gun with a palm shield like in a medieval sword 🙂
RFID printer to print the RFID labels.
Compatible RFID labels that are relatively small to fit onto different items.
RFID compatible scanner
There are scanners that are all-in-one like Zebra MC3330R that, at the time of writing cost $700+ used on eBay or around $3K new online.
There are also small hand-helds that consist of Mobile computer and a sled/cradle. For example Zebra TC20 or TC25 with a Zebra RFD2000 sled. The mobile computer snaps into the sled and with an application running your can go hunting for the item you need to find. Or you can tag your folders for Document Management or… well the sky is the limit.
Zebra TC20 RFD2000 UHF RFID Sled Charger Cradle
Now let’s talk about limitations. These are the underwater rocks which I am in the middle of navigating. Not every computer is made equal and consider TC20 or TC25 to be a family or devices. They have different capabilities.
Initially I have purchased TC200J-10C112US which is running Android 8.1, looks great but… turned out to NOT support RFID scanning in any shape or form. And no amount of knowledge or trying to force it work with RFID software produced any results. It just does not have 8 pin connector in the back and the firmware is not intended to work with RFID sled.
Here’s is a back connector of TC200J-10C213US for comparison:
Now to the points to watch for when acquiring equipment from eBay:
TC20and TC25 can get charged using USB-C cable/charger. If the scanner was used, the battery might need replacement especially if you’re planning on using it extensively, or to have a charger close by.
RFID Reader sled RFD2000 also comes with a battery LI3600 and it does not use the scanner battery as I thought initially (duh!) so it requires its own charger. Surely for a limited use you can use your favorite lab charger(ad) but only for the beginning, as it is not practical in the long run.
Charging Cradle for Zebra RFD2000 is a must once you’re done with your RnD and are ready to head to the warehouse. It charges both a Scanner and a Sled at the same time without separating the two.
Now let’s get to the software. Zebra thought of low budget solutions and created RFID Manager Application for RFD2000 for Android 7.0.x and later:
In order to set up such an .APK file that you’d get from Zebra web site, you need to allow your TC20 scanner / phone to install unknown apps or apps from unknown sources. Go to Settings and type in word “unknown” in search and mark all of them for the time being.
Now the main part: the app would not install on the scanners that are not intended for RFID use.
Files, list in TC20 RFID Manager APK
If you received App not installed, there are other procedures to find out if your scanner is compatible. But I can tell for sure that ZEBRA TC200J-10C112US is NOT intended for RFID scanning.
Dell Optiplex 9020 that does not boot up properly. When the power button is pressed here’s what happens and keeps going in a loop:
– Keeps doing a single beep
– Power button blinks amber and then blinks white
– Hard Drive symbol blinks white
– PSU LED blinks green
– CPU and Case Fans spin briefly and then stop
Resolution of the problem:
completely turn off the computer
disconnect the power cable
leave the power button pressed for 30 seconds + to discharge all the funny capacitors and the energy that remains in the components
open the case cover and carefully remove all the RAM/memory sticks
turn on the computer, it will beep once, then several times (3 continuous beeps), there should not be any video on the monitor, leave it running for 1 minute and later turn off the computer
open the device again and place a single memory stick (might want to consider cleaning the memory connectors with an alcohol wipe carefully, let it dry for a minute before re-inserting). Place the memory stick into position 1.
re-connect the power cable and turn on the computer, this time there will be video on the monitor, likely with a memory change message, press F1 button and it will continue to boot.
if everything worked, turn off and repeat the steps to re-insert the rest of the RAM/memory sticks.
The goal is to have it providing weight number on port 2000 on IP (pre-setup) That means that we need to turn it into a Server, where any client including Aspen or our computer would be able to connect to that IP/port and grab the weight. For that we need to refer to page 72 of the attached manual
Press SELECT/ to move Down in a menu
Press TARE/ to move up in a menu, except at the
bottom item in a menu, then use ZERO/ or F1
Press PRINT/ to move Left in a menu
Press UNITS/ to move Right in a menu
Press ZERO/ to accept a value or choice and
move up in the menu.
Press F1 to escape and move up in the menu
How to navigate the menu of the scale: press and hold F1 key for 1 second Enter 3088 Press ZERO This gets you to enter Administrative mode
You should end up on SEtuP menu go Down, Right, Right, Right Should see PortS go Down, Right Should see E-nEt go Down, Left Should see conn.no go Down Down Should see tYPE1 go Down here options are Off, Client, Server (see page 72 of manual)
With Server setting on the screen press ZERO You should be back on tYPE1 Press Right and there should be Network port: Port1 Press Down and set the number that will be used for producing the data.
Exit all the way UP the menu until you see SAVE on
Now Connect to the scale using Putty or Hercules Tenlet client on port [2000] and have the weight stabilize. Go to Zero, or below and set it again. The weight should appear on telnet client.
Implementing an RFID-based inventory tracking system is an excellent way to streamline the management of your inventory, especially if it’s spread across various locations. Here’s a detailed guide to help you make the best use of this technology:
1. Applying RFID Labels:
Purchase Pre-Programmed and Pre-Printed RFID Labels: These labels should be compatible with your chosen RFID readers and inventory management system.
Apply Labels to Inventory Items: Attach RFID labels to each item or their packaging. Ensure the labels are placed in a standardized and accessible position to facilitate easy scanning.
2. Organizing Inventory:
Categorize and Assign Locations: Define specific areas, shelves, or containers for different categories of items. Each area or shelf can have a designated RFID tag that corresponds to its location.
Boxing and Containerization: When placing items in boxes or containers, record the association between the item’s RFID tag and the container’s or location’s RFID tag.
3. Tracking and Locating Inventory:
Mapping Inventory Locations: Use an RFID scanner to record the location of each item by scanning both the item’s tag and the location’s tag.
Real-Time Tracking: Implement a system that updates item locations in real-time as they are moved and scanned at different locations.
4. Choosing an Inventory System:
Online vs. Hosted In-House: An online system (cloud-based) offers accessibility from anywhere and reduces the need for in-house IT infrastructure. However, an in-house system might offer more control and security. Given your interest in compatibility, an online system might be more adaptable to various integrations.
Open Source Options: Consider open-source inventory management systems like Snipe-IT, PartKeepr, or Odoo. Ensure they support RFID integration and check for compatibility with WooCommerce/WordPress and possibly QuickBooks.
5. Integration with WooCommerce/WordPress:
Look for plugins or modules that allow your chosen inventory system to integrate with WooCommerce, enabling real-time inventory updates on your e-commerce platform.
6. Using Scan Guns (RFID Readers):
Types: Choose handheld or fixed RFID readers depending on your operation size. Handheld devices offer flexibility, while fixed readers can automatically scan items passing through specific locations.
Functionality: Look for readers with good read range, data filtering capabilities, and compatibility with your inventory software. Durability and battery life are also key for handheld units.
7. Label Printers:
If you need to print your own RFID labels in the future, consider RFID label printers that are compatible with your tag format and frequency. Popular brands include Zebra and Brother, known for their reliability and quality.
Use Case Scenarios:
Receiving Inventory: Upon receiving new stock, apply RFID tags and scan them along with the location tags where they’ll be stored.
Stocktaking: Use handheld RFID readers to quickly scan shelves and verify inventory counts, updating your system in real time.
Locating Items: To find an item, your system can indicate its last scanned location, and a handheld reader can be used to pinpoint its exact position.
Conclusion:
Implementing an RFID system for inventory management will significantly enhance your efficiency and accuracy in tracking items. By carefully selecting compatible hardware and software, you can create a robust system that aligns with your business needs and technology infrastructure.
Upon applying mundane WordPress update in an eCommerce store based on WooCommerce the store crashed, and the error message said:
There has been a critical error on this website. Please check your site admin email inbox for instructions.
Learn more about troubleshooting WordPress.
“This is awesome” — said I and after logging in recovery mode info WordPress Admin I noticed
One or more plugins failed to load properly.
You can find more details and make changes on the Plugins screen.
At the bottom of the email the Error Details were
Uncaught RuntimeException: Unable to claim actions. Database error: Unknown column 'priority' in 'order clause'. in plugins/woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php:942
Turned out that the database user that WordPress is using lacked all the necessary privileges to change the structure of the database and during the upgrade of WooCommerce it was unable to add an additional column named `priority`
In order to solve this, you need to add this column manually. You can log into phpMyAdmin, click on table wp_actionscheduler_actions on the left, then cl;ick “Structure” tab and under the
Now the most important part. Add the field with the following params:
Name: priority
Type:tinyint(3)
UNSIGNED
Null: No
Default: 10
Voila, problem solved! The field is added with default number value of 10 and WooCommerce should be working!
target.meta_key IN ('_weight', '_height', '_length', '_width')
In WordPress, Woocommerce you need a mySQL UPDATE statement where you would be able to set weight, height, length, width=12 (for example) to all the instock products that have weight =0 or just blank value. Blank value might also mean that the value record is missing from wp_postmeta table So such a value has to be inserted/created, not only updated.
This is needed when you have many items that have a record of weight omitted when those were originally inserted to database and it is extremely long list to go thru and update manually. This might also need to be done now to enable shipping modules that depend on shipping weight and dimensions.
This first part updates existing weight, height, length, width values to 12 for in-stock products where weight and others are 0 or blank. However the records exist in the tables already. Hint: originally the records with this data do not get inserted when the product created if those are not manually specified. Those can exist only if they were specified and later removed in Product Data => Shipping on a product screen.
-- Update existing weight value to 12 for in-stock products where weight is 0 or blank UPDATE wp_postmeta AS target JOIN ( SELECT p.ID FROM wp_posts AS p JOIN wp_postmeta AS pm ON p.ID = pm.post_id WHERE p.post_type = 'product' AND p.post_status = 'publish' AND pm.meta_key = '_stock_status' AND pm.meta_value = 'instock' ) AS source ON target.post_id = source.ID SET target.meta_value = '12' WHERE target.meta_key IN ('_weight', '_height', '_length', '_width') AND (target.meta_value = '0' OR target.meta_value = '');
Now we need to add the records if those never existed in the first place. So we check wp_postmeta and if those values “_weight”, etc. are absent, we create them and assign to 12 (or the value of your choice)
-- Insert or update weight, height, length, and width with a value of 12 for missing or blank values
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT p.ID, defaults.meta_key, '12'
FROM wp_posts AS p
CROSS JOIN (
SELECT '_weight' AS meta_key
UNION ALL SELECT '_height'
UNION ALL SELECT '_length'
UNION ALL SELECT '_width'
) AS defaults
LEFT JOIN wp_postmeta AS existing_pm ON p.ID = existing_pm.post_id AND existing_pm.meta_key = defaults.meta_key
WHERE p.post_type = 'product'
AND p.post_status = 'publish'
AND p.ID IN (
SELECT post_id
FROM wp_postmeta
WHERE meta_key = '_stock_status'
AND meta_value = 'instock'
)
AND (
(existing_pm.meta_id IS NULL)
OR (existing_pm.meta_value = '')
);