diff --git a/flashchips.c b/flashchips.c
index 6a99456..726a6ea 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -27361,7 +27361,7 @@
 		.page_size	= 256,
 		/* probe is assumed to work, rest will be filled in by probe */
 		.tested		= TEST_OK_PROBE,
-		.probe		= probe_opaque,
+		.probe		= probe_buses,
 		/* eraseblock sizes will be set by the probing function */
 		.block_erasers	=
 		{
diff --git a/include/chipdrivers/opaque.h b/include/chipdrivers/opaque.h
index d172861..d6d3eba 100644
--- a/include/chipdrivers/opaque.h
+++ b/include/chipdrivers/opaque.h
@@ -19,11 +19,15 @@
 #include <stdint.h>
 
 struct flashprog_flashctx;
+struct master_common;
+struct bus_probe;
+struct flashchip;
+
+struct found_id *probe_opaque(const struct bus_probe *, const struct master_common *, const struct flashchip *);
 
 enum preparation_steps;
 int prepare_opaque(struct flashprog_flashctx *, enum preparation_steps);
 
-int probe_opaque(struct flashprog_flashctx *);
 int read_opaque(struct flashprog_flashctx *, uint8_t *buf, unsigned int start, unsigned int len);
 int write_opaque(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
 int erase_opaque(struct flashprog_flashctx *, unsigned int blockaddr, unsigned int blocklen);
diff --git a/opaque.c b/opaque.c
index a005d91..7a11b90 100644
--- a/opaque.c
+++ b/opaque.c
@@ -21,14 +21,30 @@
  */
 
 #include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
 #include "flash.h"
 #include "flashchips.h"
 #include "chipdrivers/opaque.h"
+#include "chipdrivers/probing.h"
 #include "programmer.h"
 
-int probe_opaque(struct flashctx *flash)
+struct found_id *probe_opaque(const struct bus_probe *probe,
+			      const struct master_common *mst,
+			      const struct flashchip *chip)
 {
-	return 1;
+	struct found_id *const found = calloc(1, sizeof(*found));
+	if (!found) {
+		msg_cerr("Out of memory!\n");
+		return NULL;
+	}
+
+	found->info.id.type		= ID_OPAQUE;
+	found->info.id.manufacture	= PROGMANUF_ID;
+	found->info.id.model		= PROGDEV_ID;
+
+	return found;
 }
 
 int prepare_opaque(struct flashctx *flash, enum preparation_steps step)
@@ -53,6 +69,16 @@
 	return flash->mst.opaque->erase(flash, blockaddr, blocklen);
 }
 
+static const struct bus_probe opaque_probes[] = {
+    /* prio. type		function		function argument */
+	{ 0, ID_OPAQUE,		probe_opaque,		NULL },
+};
+
+static bool opaque_probe_match(const struct flashchip *chip, const struct id_info_ext *found)
+{
+	return memcmp(&chip->id, &found->id, sizeof(found->id)) == 0;
+}
+
 int register_opaque_master(const struct opaque_master *mst, void *data)
 {
 	struct registered_master rmst = { 0 };
@@ -71,6 +97,9 @@
 		return ERROR_FLASHPROG_BUG;
 	}
 	rmst.buses_supported = BUS_PROG;
+	rmst.probing.probe_count = ARRAY_SIZE(opaque_probes);
+	rmst.probing.probes = opaque_probes;
+	rmst.probing.match = opaque_probe_match;
 	rmst.opaque = *mst;
 	if (data)
 		rmst.opaque.data = data;
